Skip to content
On this page

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返回的时间足够小,且需要及时使用返回值,那么同步执行会较好的适应插件的开发逻辑。