nonebot2/website/versioned_docs/version-2.3.1/api/plugin/on.md
noneflow[bot] 622e8e8af3 🔖 Release 2.3.1
2024-05-20 14:19:50 +00:00

36 KiB

sidebar_position description
2 nonebot.plugin.on 模块

nonebot.plugin.on

本模块定义事件响应器便携定义函数。

def store_matcher(matcher)

  • 说明: 存储一个事件响应器到插件。

  • 参数

    • matcher (type[Matcher]): 事件响应器
  • 返回

    • None

def get_matcher_plugin(depth=...)

  • 说明

    获取事件响应器定义所在插件。

    Deprecated, 请使用 get_matcher_source 获取信息。

  • 参数

    • depth (int): 调用栈深度
  • 返回

def get_matcher_module(depth=...)

  • 说明

    获取事件响应器定义所在模块。

    Deprecated, 请使用 get_matcher_source 获取信息。

  • 参数

    • depth (int): 调用栈深度
  • 返回

    • ModuleType | None

def get_matcher_source(depth=...)

  • 说明: 获取事件响应器定义所在源码信息。

  • 参数

    • depth (int): 调用栈深度
  • 返回

    • MatcherSource | None

def on(type="", rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个基础事件响应器,可自定义类型。

  • 参数

    • type (str): 事件响应器类型

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_metaevent(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个元事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_message(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_notice(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个通知事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_request(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个请求事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_startswith(msg, rule=..., ignorecase=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息的文本部分以指定内容开头时响应。

  • 参数

    • msg (str | tuple[str, ...]): 指定消息开头内容

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • ignorecase (bool): 是否忽略大小写

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_endswith(msg, rule=..., ignorecase=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息的文本部分以指定内容结尾时响应。

  • 参数

    • msg (str | tuple[str, ...]): 指定消息结尾内容

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • ignorecase (bool): 是否忽略大小写

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_fullmatch(msg, rule=..., ignorecase=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息的文本部分与指定内容完全一致时响应。

  • 参数

    • msg (str | tuple[str, ...]): 指定消息全匹配内容

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • ignorecase (bool): 是否忽略大小写

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_keyword(keywords, rule=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息纯文本部分包含关键词时响应。

  • 参数

    • keywords (set[str]): 关键词列表

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_command(cmd, rule=..., aliases=..., force_whitespace=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明

    注册一个消息事件响应器,并且当消息以指定命令开头时响应。

    命令匹配规则参考: 命令形式匹配 <rule.md#command-command>_

  • 参数

    • cmd (str | tuple[str, ...]): 指定命令内容

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • aliases (set[str | tuple[str, ...]] | None): 命令别名

    • force_whitespace (str | bool | None): 是否强制命令后必须有指定空白符

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_shell_command(cmd, rule=..., aliases=..., parser=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明

    注册一个支持 shell_like 解析参数的命令消息事件响应器。

    与普通的 on_command 不同的是,在添加 parser 参数时, 响应器会自动处理消息。

    可以通过 ShellCommandArgv 获取原始参数列表, 通过 ShellCommandArgs 获取解析后的参数字典。

  • 参数

    • cmd (str | tuple[str, ...]): 指定命令内容

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • aliases (set[str | tuple[str, ...]] | None): 命令别名

    • parser (ArgumentParser | None): nonebot.rule.ArgumentParser 对象

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_regex(pattern, flags=..., rule=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明

    注册一个消息事件响应器,并且当消息匹配正则表达式时响应。

    命令匹配规则参考: 正则匹配 <rule.md#regex-regex-flags-0>_

  • 参数

    • pattern (str): 正则表达式

    • flags (int | re.RegexFlag): 正则匹配标志

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

def on_type(types, rule=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个事件响应器,并且当事件为指定类型时响应。

  • 参数

    • types (type[Event] | tuple[type[Event], ...]): 事件类型

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

class CommandGroup(cmd, prefix_aliases=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

method command(cmd, *, rule=..., aliases=..., force_whitespace=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个新的命令。新参数将会覆盖命令组默认值

  • 参数

    • cmd (str | tuple[str, ...]): 指定命令内容

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • aliases (set[str | tuple[str, ...]] | None): 命令别名

    • force_whitespace (str | bool | None): 是否强制命令后必须有指定空白符

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method shell_command(cmd, *, rule=..., aliases=..., parser=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个新的 shell_like 命令。新参数将会覆盖命令组默认值

  • 参数

    • cmd (str | tuple[str, ...]): 指定命令内容

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • aliases (set[str | tuple[str, ...]] | None): 命令别名

    • parser (ArgumentParser | None): nonebot.rule.ArgumentParser 对象

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

class MatcherGroup(*, type=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

method on(*, type=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个基础事件响应器,可自定义类型。

  • 参数

    • type (str): 事件响应器类型

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_metaevent(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个元事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_message(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_notice(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个通知事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_request(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个请求事件响应器。

  • 参数

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_startswith(msg, *, ignorecase=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息的文本部分以指定内容开头时响应。

  • 参数

    • msg (str | tuple[str, ...]): 指定消息开头内容

    • ignorecase (bool): 是否忽略大小写

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_endswith(msg, *, ignorecase=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息的文本部分以指定内容结尾时响应。

  • 参数

    • msg (str | tuple[str, ...]): 指定消息结尾内容

    • ignorecase (bool): 是否忽略大小写

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_fullmatch(msg, *, ignorecase=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息的文本部分与指定内容完全一致时响应。

  • 参数

    • msg (str | tuple[str, ...]): 指定消息全匹配内容

    • ignorecase (bool): 是否忽略大小写

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_keyword(keywords, *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个消息事件响应器,并且当消息纯文本部分包含关键词时响应。

  • 参数

    • keywords (set[str]): 关键词列表

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_command(cmd, aliases=..., force_whitespace=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明

    注册一个消息事件响应器,并且当消息以指定命令开头时响应。

    命令匹配规则参考: 命令形式匹配 <rule.md#command-command>_

  • 参数

    • cmd (str | tuple[str, ...]): 指定命令内容

    • aliases (set[str | tuple[str, ...]] | None): 命令别名

    • force_whitespace (str | bool | None): 是否强制命令后必须有指定空白符

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_shell_command(cmd, aliases=..., parser=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明

    注册一个支持 shell_like 解析参数的命令消息事件响应器。

    与普通的 on_command 不同的是,在添加 parser 参数时, 响应器会自动处理消息。

    可以通过 ShellCommandArgv 获取原始参数列表, 通过 ShellCommandArgs 获取解析后的参数字典。

  • 参数

    • cmd (str | tuple[str, ...]): 指定命令内容

    • aliases (set[str | tuple[str, ...]] | None): 命令别名

    • parser (ArgumentParser | None): nonebot.rule.ArgumentParser 对象

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_regex(pattern, flags=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明

    注册一个消息事件响应器,并且当消息匹配正则表达式时响应。

    命令匹配规则参考: 正则匹配 <rule.md#regex-regex-flags-0>_

  • 参数

    • pattern (str): 正则表达式

    • flags (int | re.RegexFlag): 正则匹配标志

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回

method on_type(types, *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)

  • 说明: 注册一个事件响应器,并且当事件为指定类型时响应。

  • 参数

    • types (type[Event] | tuple[type[Event]]): 事件类型

    • rule (Rule | T_RuleChecker | None): 事件响应规则

    • permission (Permission | T_PermissionChecker | None): 事件响应权限

    • handlers (list[T_Handler | Dependent] | None): 事件处理函数列表

    • temp (bool): 是否为临时事件响应器(仅执行一次)

    • expire_time (datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除

    • priority (int): 事件响应器优先级

    • block (bool): 是否阻止事件向更低优先级传递

    • state (T_State | None): 默认 state

  • 返回