Skip to content
On this page

事件总线

AmiyaBot 提供了简易的全局事件总线的方法

python
from amiyabot import event_bus

发布事件

publish

参数名类型释义默认值
event_namestr事件名
dataAny事件数据None
python
event_bus.publish('myEvent', data=...)

订阅事件

subscribe

参数名类型释义默认值
event_namestr事件名
methodCallable响应方法(可选)None

提示

响应方法同时支持异步同步函数

通过装饰器订阅事件

python
@event_bus.subscribe('myEvent')
async def event_handler(data):
    ...

也可以通过传入响应函数订阅事件

python
async def event_handler(data):
    ...

event_bus.subscribe('myEvent', event_handler)

取消订阅

取消订阅需要传入订阅时的响应方法对象(且需要保证其内存地址是一致的)

unsubscribe

参数名类型释义默认值
event_namestr事件名
methodCallable响应方法None
python
event_bus.unsubscribe('myEvent', event_handler)