Skip to main content
LangBot 的流水线在运行期间会产生一些事件,供插件 Hook 并处理。每个插件中只允许添加一个事件监听器(components/event_listener/default.yaml),但在其中可以注册任意数量的事件。

添加事件监听器组件

请在插件目录执行命令lbp comp EventListener,创建事件监听器组件不需要填写任何配置。
现在即会在components/event_listener/目录下生成default.yamldefault.py文件,.yaml定义了事件监听器的基础信息,.py是该事件监听器的处理程序:

清单文件:事件监听器

由于每个插件仅允许添加一个事件监听器,故清单文件中不需要修改任何内容。

插件处理

默认会生成如下代码(components/event_listener/default.py),您需要在DefaultEventListener类的initialize方法中注册并实现事件的处理逻辑。
添加对特定事件的监听:
此代码将注册对PersonMessageReceived(收到来自私聊的任何消息)事件的监听,并在事件触发时打印事件的上下文(EventContext)信息,并调用事件上下文 API 回复一条消息。 EventContext 保存了该此事件触发的通用上下文信息,而 EventContext.event 为 PersonMessageReceived (或其他对应的事件类型)的对象,保存了该事件的详细信息。

事件注册

事件注册通过装饰器@self.handler实现,装饰器参数为事件类型。可监听的事件均在langbot_plugin.api.entities.builtin.events中定义。

接下来做什么

您已经了解了事件监听器的基本信息,接下来可以: