catbase/bot/interfaces.go

41 lines
953 B
Go
Raw Normal View History

2016-03-19 19:32:51 +00:00
// © 2016 the CatBase Authors under the WTFPL license. See AUTHORS for the list of authors.
2016-03-10 18:37:07 +00:00
package bot
import (
"github.com/jmoiron/sqlx"
"github.com/velour/catbase/config"
)
type Bot interface {
Config() *config.Config
DBVersion() int64
DB() *sqlx.DB
Who(string) []User
AddHandler(string, Handler)
SendMessage(string, string)
SendAction(string, string)
MsgReceived(Message)
EventReceived(Message)
Filter(Message, string) string
LastMessage(string) (Message, error)
}
2016-03-10 18:37:07 +00:00
type Connector interface {
2016-03-11 02:11:52 +00:00
RegisterEventReceived(func(message Message))
RegisterMessageReceived(func(message Message))
2016-03-10 18:37:07 +00:00
SendMessage(channel, message string)
SendAction(channel, message string)
Serve()
}
// Interface used for compatibility with the Plugin interface
type Handler interface {
Message(message Message) bool
Event(kind string, message Message) bool
BotMessage(message Message) bool
Help(channel string, parts []string)
RegisterWeb() *string
}