mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-28 16:16:21 +08:00
329 lines
3.4 KiB
Markdown
329 lines
3.4 KiB
Markdown
---
|
|
contentSidebar: true
|
|
sidebarDepth: 0
|
|
---
|
|
|
|
# NoneBot.matcher 模块
|
|
|
|
## 事件响应器
|
|
|
|
该模块实现事件响应器的创建与运行,并提供一些快捷方法来帮助用户更好的与机器人进行 对话 。
|
|
|
|
|
|
## `matchers`
|
|
|
|
|
|
* **类型**
|
|
|
|
`Dict[int, List[Type[Matcher]]]`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
用于存储当前所有的事件响应器
|
|
|
|
|
|
|
|
## _class_ `Matcher`
|
|
|
|
基类:`object`
|
|
|
|
事件响应器类
|
|
|
|
|
|
### `module`
|
|
|
|
|
|
* **类型**
|
|
|
|
`Optional[str]`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器所在模块名称
|
|
|
|
|
|
|
|
### `type`
|
|
|
|
|
|
* **类型**
|
|
|
|
`str`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器类型
|
|
|
|
|
|
|
|
### `rule`
|
|
|
|
|
|
* **类型**
|
|
|
|
`Rule`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器匹配规则
|
|
|
|
|
|
|
|
### `permission`
|
|
|
|
|
|
* **类型**
|
|
|
|
`Permission`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器触发权限
|
|
|
|
|
|
|
|
### `priority`
|
|
|
|
|
|
* **类型**
|
|
|
|
`int`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器优先级
|
|
|
|
|
|
|
|
### `block`
|
|
|
|
|
|
* **类型**
|
|
|
|
`bool`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器是否阻止事件传播
|
|
|
|
|
|
|
|
### `temp`
|
|
|
|
|
|
* **类型**
|
|
|
|
`bool`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器是否为临时
|
|
|
|
|
|
|
|
### `expire_time`
|
|
|
|
|
|
* **类型**
|
|
|
|
`Optional[datetime]`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器过期时间点
|
|
|
|
|
|
|
|
### `_default_state`
|
|
|
|
|
|
* **类型**
|
|
|
|
`dict`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器默认状态
|
|
|
|
|
|
|
|
### `_default_parser`
|
|
|
|
|
|
* **类型**
|
|
|
|
`Optional[ArgsParser]`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器默认参数解析函数
|
|
|
|
|
|
|
|
### `handlers`
|
|
|
|
|
|
* **类型**
|
|
|
|
`List[Handler]`
|
|
|
|
|
|
|
|
* **说明**
|
|
|
|
事件响应器拥有的事件处理函数列表
|
|
|
|
|
|
|
|
### _classmethod_ `new(type_='', rule=None, permission=None, handlers=None, temp=False, priority=1, block=False, *, module=None, default_state=None, expire_time=None)`
|
|
|
|
|
|
* **说明**
|
|
|
|
创建一个新的事件响应器,并存储至 [matchers](#matchers)
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
* `type_: str`: 事件响应器类型,与 `event.type` 一致时触发,空字符串表示任意
|
|
|
|
|
|
* `rule: Optional[Rule]`: 匹配规则
|
|
|
|
|
|
* `permission: Optional[Permission]`: 权限
|
|
|
|
|
|
* `handlers: Optional[List[Handler]]`: 事件处理函数列表
|
|
|
|
|
|
* `temp: bool`: 是否为临时事件响应器,即触发一次后删除
|
|
|
|
|
|
* `priority: int`: 响应优先级
|
|
|
|
|
|
* `block: bool`: 是否阻止事件向更低优先级的响应器传播
|
|
|
|
|
|
* `module: Optional[str]`: 事件响应器所在模块名称
|
|
|
|
|
|
* `default_state: Optional[dict]`: 默认状态 `state`
|
|
|
|
|
|
* `expire_time: Optional[datetime]`: 事件响应器最终有效时间点,过时即被删除
|
|
|
|
|
|
|
|
* **返回**
|
|
|
|
|
|
* `Type[Matcher]`: 新的事件响应器类
|
|
|
|
|
|
|
|
### _async classmethod_ `check_perm(bot, event)`
|
|
|
|
|
|
* **说明**
|
|
|
|
检查是否满足触发权限
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
* `bot: Bot`: Bot 对象
|
|
|
|
|
|
* `event: Event`: 上报事件
|
|
|
|
|
|
|
|
* **返回**
|
|
|
|
|
|
* `bool`: 是否满足权限
|
|
|
|
|
|
|
|
### _async classmethod_ `check_rule(bot, event, state)`
|
|
|
|
|
|
* **说明**
|
|
|
|
检查是否满足匹配规则
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
* `bot: Bot`: Bot 对象
|
|
|
|
|
|
* `event: Event`: 上报事件
|
|
|
|
|
|
* `state: dict`: 当前状态
|
|
|
|
|
|
|
|
* **返回**
|
|
|
|
|
|
* `bool`: 是否满足匹配规则
|
|
|
|
|
|
|
|
### _classmethod_ `args_parser(func)`
|
|
|
|
|
|
* **说明**
|
|
|
|
用于装饰一个函数来更改当前事件响应器的默认参数解析函数
|
|
|
|
|
|
|
|
* **参数**
|
|
|
|
|
|
* `func: ArgsParser`: 参数解析函数
|
|
|
|
|
|
|
|
### _classmethod_ `handle()`
|
|
|
|
直接处理消息事件
|
|
|
|
|
|
### _classmethod_ `receive()`
|
|
|
|
接收一条新消息并处理
|