Documentation ¶
Index ¶
- func AddHttpRouteHandler(path, addr string, handler func(*gin.Context) bool)
- func RemoveHttpRouteHandler(path, addr string, handler func(*gin.Context) bool)
- func StartAll()
- func StartAllBot()
- func StartAllHttpServer()
- type Bot
- func (_bot *Bot) AddListenerAddQuickEmoticon(listener events.BotListenerAddQuickEmoticon)
- func (_bot *Bot) AddListenerAuditCallback(listener events.BotListenerAuditCallback)
- func (_bot *Bot) AddListenerCreateRobot(listener events.BotListenerCreateRobot)
- func (_bot *Bot) AddListenerDeleteRobot(listener events.BotListenerDeleteRobot)
- func (_bot *Bot) AddListenerJoinVilla(listener events.BotListenerJoinVilla)
- func (_bot *Bot) AddListenerSendMessage(listener events.BotListenerSendMessage)
- func (_bot *Bot) AddOnCommand(plugin commands.OnCommand) error
- func (_bot *Bot) AddPreprocessor(preprocessor commands.Preprocessor) error
- func (_bot *Bot) AddReverseProxyHTTP(raw_url string)
- func (_bot *Bot) AddReverseProxyWS(path, addr string)
- func (_bot *Bot) AddlistenerRawRequest(listener events.BotListenerRawRequest)
- func (_bot *Bot) CancelWaitForCommand(identify string) error
- func (_bot *Bot) GetPluginNames() []string
- func (_bot *Bot) RemoveListenerAddQuickEmoticon(listener events.BotListenerAddQuickEmoticon)
- func (_bot *Bot) RemoveListenerAuditCallback(listener events.BotListenerAuditCallback)
- func (_bot *Bot) RemoveListenerCreateRobot(listener events.BotListenerCreateRobot)
- func (_bot *Bot) RemoveListenerDeleteRobot(listener events.BotListenerDeleteRobot)
- func (_bot *Bot) RemoveListenerJoinVilla(listener events.BotListenerJoinVilla)
- func (_bot *Bot) RemoveListenerSendMessage(listener events.BotListenerSendMessage)
- func (_bot *Bot) RemoveOnCommand(plugin commands.OnCommand) error
- func (_bot *Bot) RemovePreprocessor(preprocessor commands.Preprocessor) error
- func (_bot *Bot) RemovelistenerRawRequest(listener events.BotListenerRawRequest)
- func (_bot *Bot) SetAPITimeout(timeout time.Duration)
- func (_bot *Bot) SetFilterSelfMsg(is_filter bool)
- func (_bot *Bot) SetLogger(logger logger.LoggerInterface)
- func (_bot *Bot) SetPluginEnabled(plugin_name string, is_enable bool)
- func (_bot *Bot) SetPluginsShortCircuitAffectMain(is_affect bool)
- func (_bot *Bot) SetUseDefaultLogger(is_use bool)
- func (_bot *Bot) SetVerifyMsgSignature(is_verify bool)
- func (_bot *Bot) Start() error
- func (_bot *Bot) WaitForCommand(reg models.WaitForCommandRegister) (*events.EventSendMessage, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddHttpRouteHandler ¶ added in v0.4.0
新增一个http路由,用于与机器人同时运行,避免占用同一个端口,以及允许使用短路机制处理请求
- path: 路由路径
- addr: 路由地址
- handler: 路由处理器回调函数——函数返回true则短路,返回false则继续执行(系统将在所有同路径端口的handler都不短路后再处理消息)
func RemoveHttpRouteHandler ¶ added in v0.4.0
func StartAllBot ¶
func StartAllBot()
func StartAllHttpServer ¶ added in v0.4.0
func StartAllHttpServer()
Types ¶
type Bot ¶ added in v0.4.10
type Bot struct { Base models.BotBase // 机器人基本信息 Api *apis.ApiBase // api接口 Logger logger.LoggerInterface // 日志记录器 // contains filtered or unexported fields }
func NewBot ¶
NewBot 创建一个机器人实例,bot_id 为机器人的id,bot_secret 为机器人的secret,path 为接收事件的路径(如"/"),addr 为接收事件的地址(如":8888")
机器人实例创建后,需要调用 Start() 方法启动机器人,但建议使用 StartAll() 或 StartAllBot() 方法直接启动所有机器人
- 对于消息处理,可以通过 AddPreprocessor() 方法添加预处理器,通过 AddOnCommand() 方法添加命令处理器,通过 AddListener() 方法添加事件监听器
- 对于插件,可以通过 AddPlugin() 方法添加插件
整体消息处理的运行与短路顺序为: [main]预处理器 -> [插件]预处理器 -> [插件]令处理器 -> [main]命令处理器 -> [main]事件监听器
func NewWsBot ¶ added in v0.5.0
NewWsBot 创建一个机器人实例,bot_id 为机器人的id,bot_secret 为机器人的secret,bot_pubkey 为机器人的公钥,ws_uri 为接收事件的websocket地址(如"ws://xxx:8888/ws/")
机器人实例创建后,需要调用 Start() 方法启动机器人,但建议使用 StartAll() 或 StartAllBot() 方法直接启动所有机器人
- 对于消息处理,可以通过 AddPreprocessor() 方法添加预处理器,通过 AddOnCommand() 方法添加命令处理器,通过 AddListener() 方法添加事件监听器
- 对于插件,可以通过 AddPlugin() 方法添加插件
整体消息处理的运行与短路顺序为: [main]预处理器 -> [插件]预处理器 -> [插件]令处理器 -> [main]命令处理器 -> [main]事件监听器
func (*Bot) AddListenerAddQuickEmoticon ¶ added in v0.4.10
func (_bot *Bot) AddListenerAddQuickEmoticon(listener events.BotListenerAddQuickEmoticon)
func (*Bot) AddListenerAuditCallback ¶ added in v0.4.10
func (_bot *Bot) AddListenerAuditCallback(listener events.BotListenerAuditCallback)
func (*Bot) AddListenerCreateRobot ¶ added in v0.4.10
func (_bot *Bot) AddListenerCreateRobot(listener events.BotListenerCreateRobot)
func (*Bot) AddListenerDeleteRobot ¶ added in v0.4.10
func (_bot *Bot) AddListenerDeleteRobot(listener events.BotListenerDeleteRobot)
func (*Bot) AddListenerJoinVilla ¶ added in v0.4.10
func (_bot *Bot) AddListenerJoinVilla(listener events.BotListenerJoinVilla)
func (*Bot) AddListenerSendMessage ¶ added in v0.4.10
func (_bot *Bot) AddListenerSendMessage(listener events.BotListenerSendMessage)
func (*Bot) AddOnCommand ¶ added in v0.4.10
func (*Bot) AddPreprocessor ¶ added in v0.4.10
func (_bot *Bot) AddPreprocessor(preprocessor commands.Preprocessor) error
func (*Bot) AddReverseProxyWS ¶ added in v0.5.0
添加事件的WebSocket反向代理(服务端server),会每隔30秒发送一次心跳包
- 另一端可使用 NewWsBot() 创建Bot实例
func (*Bot) AddlistenerRawRequest ¶ added in v0.4.10
func (_bot *Bot) AddlistenerRawRequest(listener events.BotListenerRawRequest)
不对回调请求进行任何处理,直接返回到这里注册的监听器,允许用户自行处理回调请求(注意:将根据端口和路径发送回调请求,如使用同端口同路径多机器人,请自行分辨机器人)
func (*Bot) CancelWaitForCommand ¶ added in v0.4.10
取消等待特定指令的注册
func (*Bot) GetPluginNames ¶ added in v0.4.10
func (*Bot) RemoveListenerAddQuickEmoticon ¶ added in v0.4.10
func (_bot *Bot) RemoveListenerAddQuickEmoticon(listener events.BotListenerAddQuickEmoticon)
func (*Bot) RemoveListenerAuditCallback ¶ added in v0.4.10
func (_bot *Bot) RemoveListenerAuditCallback(listener events.BotListenerAuditCallback)
func (*Bot) RemoveListenerCreateRobot ¶ added in v0.4.10
func (_bot *Bot) RemoveListenerCreateRobot(listener events.BotListenerCreateRobot)
func (*Bot) RemoveListenerDeleteRobot ¶ added in v0.4.10
func (_bot *Bot) RemoveListenerDeleteRobot(listener events.BotListenerDeleteRobot)
func (*Bot) RemoveListenerJoinVilla ¶ added in v0.4.10
func (_bot *Bot) RemoveListenerJoinVilla(listener events.BotListenerJoinVilla)
func (*Bot) RemoveListenerSendMessage ¶ added in v0.4.10
func (_bot *Bot) RemoveListenerSendMessage(listener events.BotListenerSendMessage)
func (*Bot) RemoveOnCommand ¶ added in v0.4.10
func (*Bot) RemovePreprocessor ¶ added in v0.4.10
func (_bot *Bot) RemovePreprocessor(preprocessor commands.Preprocessor) error
func (*Bot) RemovelistenerRawRequest ¶ added in v0.4.10
func (_bot *Bot) RemovelistenerRawRequest(listener events.BotListenerRawRequest)
func (*Bot) SetAPITimeout ¶ added in v0.4.10
设置API的超时时间,默认为1分钟
func (*Bot) SetFilterSelfMsg ¶ added in v0.4.10
设置是否过滤自己发送的消息,默认为true
func (*Bot) SetLogger ¶ added in v0.4.10
func (_bot *Bot) SetLogger(logger logger.LoggerInterface)
设置bot的日志记录器,默认为os.Stdout+一个log档案
func (*Bot) SetPluginEnabled ¶ added in v0.4.10
设置是否启用某一插件
func (*Bot) SetPluginsShortCircuitAffectMain ¶ added in v0.4.10
设置插件中的指令短路是否会影响主程序其余指令和监听器的执行,默认为false
func (*Bot) SetUseDefaultLogger ¶ added in v0.4.10
设置是否使用默认的日志记录器,默认为false
func (*Bot) SetVerifyMsgSignature ¶ added in v0.4.10
设置是否验证消息签名,默认为true
func (*Bot) WaitForCommand ¶ added in v0.4.10
func (_bot *Bot) WaitForCommand(reg models.WaitForCommandRegister) (*events.EventSendMessage, error)
等待特定指令的触发,并回传触发该指令的消息事件(或超时错误); 用于暂停处理当前消息链,等待特定指令的触发或超时再回复