Skip to content

基本概念

在开始编写属于自己的插件之前,让我们先了解一些基本的概念。

机器人 (Bot)

即然你会看到这里,相信你一定是来编写一个机器人的吧。不过,为了以防万一,AliceBot 所说的机器人指的是聊天机器人,就是微信公众号中的自动回复、电商软件中的 AI 客服、智能音响中的语音助手、TRPG 跑团群中的骰娘、游戏群聊中的信息推送机器人这类的,而不是地上跑的小机器人或者工业机械臂之类的东西。

而在 AliceBot 中,Bot 有着额外的含义,Bot 是 AliceBot 中最顶层的概念。Bot 类负责了加载配置文件、加载插件和适配器、进行事件分发等。总之,一个聊天机器人就对应着 AliceBot 中的一个 Bot 对象。

事件 (Event)

事件是 AliceBot 中最基础的概念。一个事件的产生表示有什么和机器人相关的事情发生了,比如,机器人收到了一条私聊或群聊消息、一个好友请求等等。这意味着机器人要开始工作了,它需要对事件做出响应。

适配器 (Adapter)

事件是怎么产生的呢?

事件本质上是由协议后端产生的,AliceBot 支持多种协议,比如 OneBot、Mirai、钉钉等,这些聊天协议的后端会产生一个事件,而协议适配器就是用于和后段进行沟通的媒介。协议适配器从协议后段获取到事件后封装为一个 AliceBot 的事件对象并交给 AliceBot 处理。

所以 AliceBot 无法独立运行,它需要一个协议后段和对应的协议适配器。

插件 (Plugin)

那么机器人要如何对事件进行处理呢?

插件是 AliceBot 中处理事件最基础的单位,也是你将会接触最多的概念。当协议适配器产生一个事件并交给机器人后,AliceBot 会将事件分发给各个插件,由插件考虑是否要对这个事件进行处理,应该如何进行处理。

下面我们就将从零开始编写一个插件。

Released under the MIT License.