# 事件接收器
# 什么是事件接收器(Event Receiver)
事件接收器用于接收来自无头客户端的事件, 聚合当前处理的事件信息, 并封装为上下文以供事件运行主体调用
TIP
此处为高级特性, 若你还没学会之前叙述的各式用法, 建议你跳过此节, 之后再来学习
# 注册事件监听
我们都知道, 当要注册一个事件监听时, 要使用装饰器的工厂方法 Mirai.receiver
,
为注册的事件监听提供事件的基本类型:
@app.receiver("GroupMessage")
async def event_gm():
...
1
2
3
2
3
# 事件的多种监听方式
你不仅可以使用字符串表达出你想监听的事件, 还可以用另外两种方式:
- 传入事件模型, 全部的事件模型在
mirai.event.external
处被定义, 也可以直接从mirai
下导入, 这是推荐的做法. - 传入一个
Enum Value
, 这意味着你可以通过遍历一个枚举类的方式来批量注册事件监听.
如果你对光秃秃的字符串感到畏惧, 你可以尝试下使用这两种方式.