goagent is a platform to manage agents.
- Multiple input / outputs
- Extensible commands / skills
package example
import (
"github.com/enriquebris/goagent/cmd"
"github.com/enriquebris/goagent/handler"
botio "github.com/enriquebris/goagent/io"
"github.com/enriquebris/goagent/message"
)
func GetMainCMD(commonHandler *handler.Common) cmd.CMD {
return cmd.CMD{
PatternType: cmd.CMDTypeWord,
Pattern: []string{"example"},
Description: "Example command",
Handler: defaultHandler,
HandlerError: commonHandler.GetErrorHandler([]string{"error"}),
}
}
func defaultHandler(cmd cmd.CMD, pattern string, cmdContent string, metadata botio.Metadata, handlerType string, inputMetadata botio.Metadata, generalMetadata botio.Metadata, outputs []botio.Output) {
message.SendMessageToOutput(
"example",
inputMetadata,
botio.Metadata{
"Tags": []string{"example"},
},
outputs,
)
}
Stable version including:
- Multiple input / outputs
- Flowdock implementation
- Nested commands / skills
- Parameters
- Restrictions (by command)
- Added MSTeams input/output