Appearance
API
SoruxBot 框架的API分为两种类型,三种执行方式。
类型
通用API
通用API表示框架支持的统一API,可以通过此API与任何平台交互。
API的参数和返回值规定在Interface中有详细说明
FutureTest-APi
表示协议层实体支持的额外API,可以通过此平台与特定的平台交互
执行方式
管道执行
消息通过SoruxBot管道进行执行,消息的具体处理时间对于插件来说是未知的,其返回值也是未知的。一旦采用本方法执行API,那么意味着插件主动放弃方法的返回值。
例如机器人只需要发送某个事件结果的返回信息,例如机器人只需要对于平台的Fuction事件做回复,那么请走本通道。
TIP
管道执行对于框架的执行是友好的,倘若机器人负载的服务器性能受限且消息数量无限大,这依旧不会影响整个框架的运行流程和插件的执行,只不过在外界看来消息会有延迟(管道依次推送消息)。
异步执行
消息通过SoruxBot直连管道进行,框架会为插件开辟额外的线程进行处理,且处理不影响插件的执行逻辑,且消息返回值在得到后传入插件。
例如机器人通过API下载某些群文件等网络I/O的耗时行为,请走本通道
TIP
异步执行对于插件的执行是友好的,倘若机器人请求的API返回的时间足够大,这依旧不会影响插件Action的执行。
同步执行
消息通过SoruxBot直连管道进行,框架不会为插件开辟额外的线程进行处理,且处理会阻塞插件的运行,且消息返回值在得到后作为API的返回值被插件立刻使用。
例如机器人需要通过API判断某些特定的情况以执行不同的插件逻辑,请走本通道
TIP
同步执行对于Action的逻辑分支执行是友好的,倘若机器人请求的API返回的时间足够小,且需要及时使用返回值,那么同步执行会较好的适应插件的开发逻辑。