nonebot.plugin.on
本模块定义事件响应器便携定义函数。
def store_matcher(matcher)
说明: 存储一个事件响应器到插件。
参数
matcher
(type[Matcher]): 事件响应器
返回
- None
def get_matcher_plugin(depth=...)
说明: 获取事件响应器定义所在插件。
参数
depth
(int): 调用栈深度
返回
- Plugin | None
def get_matcher_module(depth=...)
说明: 获取事件响应器定义所在模块。
参数
depth
(int): 调用栈深度
返回
- ModuleType | 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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
def on_metaevent(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个元事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
def on_message(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个消息事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
def on_notice(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个通知事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
def on_request(rule=..., permission=..., *, handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个请求事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
def on_shell_command(cmd, rule=..., aliases=..., parser=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明
注册一个支持
shell_like
解析参数的命令消息事件响应器。与普通的
on_command
不同的是,在添加parser
参数时, 响应器会自动处理消息。并将用户输入的原始参数列表保存在
state["argv"]
,parser
处理的参数保存在state["args"]
中参数
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
def on_type(types, rule=..., *, permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个事件响应器,并且当事件为指定类型时响应。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
class CommandGroup(cmd, *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
参数
cmd
(str | tuple[str, ...])rule
(Rule | T_RuleChecker | None)permission
(Permission | T_PermissionChecker | None)temp
(bool)expire_time
(datetime | timedelta | None)priority
(int)block
(bool)state
(T_State | None)
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
class MatcherGroup(*, type=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
参数
type
(str)rule
(Rule | T_RuleChecker | None)permission
(Permission | T_PermissionChecker | None)temp
(bool)expire_time
(datetime | timedelta | None)priority
(int)block
(bool)state
(T_State | None)
method on(*, type=..., rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个基础事件响应器,可自定义类型。
参数
type
(str): 事件响应器类型rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
method on_metaevent(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个元事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
method on_message(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个消息事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
method on_notice(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个通知事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
method on_request(*, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个请求事件响应器。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
method on_shell_command(cmd, aliases=..., parser=..., *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明
注册一个支持
shell_like
解析参数的命令消息事件响应器。与普通的
on_command
不同的是,在添加parser
参数时, 响应器会自动处理消息。并将用户输入的原始参数列表保存在
state["argv"]
,parser
处理的参数保存在state["args"]
中参数
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
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): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]
method on_type(types, *, rule=..., permission=..., handlers=..., temp=..., expire_time=..., priority=..., block=..., state=...)
说明: 注册一个事件响应器,并且当事件为指定类型时响应。
参数
rule
(Rule | T_RuleChecker | None): 事件响应规则permission
(Permission | T_PermissionChecker | None): 事件响应权限temp
(bool): 是否为临时事件响应器(仅执行一次)expire_time
(datetime | timedelta | None): 事件响应器最终有效时间点,过时即被删除priority
(int): 事件响应器优先级block
(bool): 是否阻止事件向更低优先级传递state
(T_State | None): 默认 state
返回
- type[Matcher]