package model import ( "errors" ) var ( // ErrPluginNotFound is returned when a requested plugin doesn't exist ErrPluginNotFound = errors.New("plugin not found") ) // Plugin defines the interface all chat plugins must implement type Plugin interface { // GetID returns the plugin ID GetID() string // GetName returns the plugin name GetName() string // GetHelp returns the plugin help text GetHelp() string // RequiresConfig indicates if the plugin requires configuration RequiresConfig() bool // OnMessage processes an incoming message and returns response messages OnMessage(msg *Message, config map[string]interface{}) []*Message }