package test import ( "context" "fmt" "math/rand" "strings" "github.com/enmanuel/agents/pkg/command" "github.com/enmanuel/agents/pkg/decision" ) // CommandEntry pairs a spec with its handler. type CommandEntry struct { Spec command.Spec Handler func(ctx context.Context, msgCtx decision.MessageContext) string } // Commands returns the custom command specs and handlers for test-bot. func Commands() []CommandEntry { return []CommandEntry{ { Spec: command.Spec{ Name: "echo", Description: "Repite el texto recibido", Usage: "!echo ", }, Handler: func(_ context.Context, msgCtx decision.MessageContext) string { if len(msgCtx.Args) == 0 { return "Uso: !echo " } return strings.Join(msgCtx.Args, " ") }, }, { Spec: command.Spec{ Name: "dice", Aliases: []string{"dado"}, Description: "Lanza un dado (1-6)", Usage: "!dice", }, Handler: func(_ context.Context, _ decision.MessageContext) string { return fmt.Sprintf("%d", rand.Intn(6)+1) }, }, } }