mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-28 04:16:57 +08:00
令 tip 符合格式
This commit is contained in:
parent
f298930f9d
commit
cd69b22d43
@ -1,12 +1,12 @@
|
|||||||
r"""
|
"""
|
||||||
权限
|
权限
|
||||||
====
|
====
|
||||||
|
|
||||||
每个 `Matcher` 拥有一个 `Permission` ,其中是 `PermissionChecker` 的集合,只要有一个 `PermissionChecker` 检查结果为 `True` 时就会继续运行。
|
每个 `Matcher` 拥有一个 `Permission` ,其中是 `PermissionChecker` 的集合,只要有一个 `PermissionChecker` 检查结果为 `True` 时就会继续运行。
|
||||||
|
|
||||||
\:\:\:tip 提示
|
::: tip 提示
|
||||||
`PermissionChecker` 既可以是 async function 也可以是 sync function
|
`PermissionChecker` 既可以是 async function 也可以是 sync function
|
||||||
\:\:\:
|
:::
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
r"""
|
"""
|
||||||
规则
|
规则
|
||||||
====
|
====
|
||||||
|
|
||||||
每个事件响应器 `Matcher` 拥有一个匹配规则 `Rule` ,其中是 `RuleChecker` 的集合,只有当所有 `RuleChecker` 检查结果为 `True` 时继续运行。
|
每个事件响应器 `Matcher` 拥有一个匹配规则 `Rule` ,其中是 `RuleChecker` 的集合,只有当所有 `RuleChecker` 检查结果为 `True` 时继续运行。
|
||||||
|
|
||||||
\:\:\:tip 提示
|
::: tip 提示
|
||||||
`RuleChecker` 既可以是 async function 也可以是 sync function
|
`RuleChecker` 既可以是 async function 也可以是 sync function
|
||||||
\:\:\:
|
:::
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import re
|
import re
|
||||||
@ -267,7 +267,7 @@ def keyword(*keywords: str) -> Rule:
|
|||||||
匹配消息关键词
|
匹配消息关键词
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
*keywords: 关键词
|
*keywords: 关键词
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return Rule(KeywordsRule(*keywords))
|
return Rule(KeywordsRule(*keywords))
|
||||||
@ -285,23 +285,23 @@ class CommandRule:
|
|||||||
|
|
||||||
|
|
||||||
def command(*cmds: Union[str, Tuple[str, ...]]) -> Rule:
|
def command(*cmds: Union[str, Tuple[str, ...]]) -> Rule:
|
||||||
r"""
|
"""
|
||||||
命令形式匹配,根据配置里提供的 `command_start`, `command_sep` 判断消息是否为命令。
|
命令形式匹配,根据配置里提供的 `command_start`, `command_sep` 判断消息是否为命令。
|
||||||
|
|
||||||
可以通过 `state["_prefix"]["command"]` 获取匹配成功的命令(例:`("test",)`),通过 `state["_prefix"]["raw_command"]` 获取匹配成功的原始命令文本(例:`"/test"`)。
|
可以通过 `state["_prefix"]["command"]` 获取匹配成功的命令(例:`("test",)`),通过 `state["_prefix"]["raw_command"]` 获取匹配成功的原始命令文本(例:`"/test"`)。
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
*cmds: 命令内容
|
*cmds: 命令内容
|
||||||
|
|
||||||
用法:
|
用法:
|
||||||
使用默认 `command_start`, `command_sep` 配置
|
使用默认 `command_start`, `command_sep` 配置
|
||||||
|
|
||||||
命令 `("test",)` 可以匹配:`/test` 开头的消息
|
命令 `("test",)` 可以匹配:`/test` 开头的消息
|
||||||
命令 `("test", "sub")` 可以匹配”`/test.sub` 开头的消息
|
命令 `("test", "sub")` 可以匹配”`/test.sub` 开头的消息
|
||||||
|
|
||||||
\:\:\:tip 提示
|
::: tip 提示
|
||||||
命令内容与后续消息间无需空格!
|
命令内容与后续消息间无需空格!
|
||||||
\:\:\:
|
:::
|
||||||
"""
|
"""
|
||||||
|
|
||||||
config = get_driver().config
|
config = get_driver().config
|
||||||
@ -379,7 +379,7 @@ class ShellCommandRule:
|
|||||||
def shell_command(
|
def shell_command(
|
||||||
*cmds: Union[str, Tuple[str, ...]], parser: Optional[ArgumentParser] = None
|
*cmds: Union[str, Tuple[str, ...]], parser: Optional[ArgumentParser] = None
|
||||||
) -> Rule:
|
) -> Rule:
|
||||||
r"""
|
"""
|
||||||
支持 `shell_like` 解析参数的命令形式匹配,根据配置里提供的 `command_start`, `command_sep` 判断消息是否为命令。
|
支持 `shell_like` 解析参数的命令形式匹配,根据配置里提供的 `command_start`, `command_sep` 判断消息是否为命令。
|
||||||
|
|
||||||
可以通过 `state["_prefix"]["command"]` 获取匹配成功的命令(例:`("test",)`),通过 `state["_prefix"]["raw_command"]` 获取匹配成功的原始命令文本(例:`"/test"`)。
|
可以通过 `state["_prefix"]["command"]` 获取匹配成功的命令(例:`("test",)`),通过 `state["_prefix"]["raw_command"]` 获取匹配成功的原始命令文本(例:`"/test"`)。
|
||||||
@ -389,8 +389,8 @@ def shell_command(
|
|||||||
添加 `parser` 参数后, 可以自动处理消息并将结果保存在 `state["args"]` 中。
|
添加 `parser` 参数后, 可以自动处理消息并将结果保存在 `state["args"]` 中。
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
*cmds: 命令内容
|
*cmds: 命令内容
|
||||||
parser: `nonebot.rule.ArgumentParser` 对象
|
parser: `nonebot.rule.ArgumentParser` 对象
|
||||||
|
|
||||||
用法:
|
用法:
|
||||||
使用默认 `command_start`, `command_sep` 配置,更多示例参考 `argparse` 标准库文档。
|
使用默认 `command_start`, `command_sep` 配置,更多示例参考 `argparse` 标准库文档。
|
||||||
@ -404,9 +404,9 @@ def shell_command(
|
|||||||
rule = shell_command("ls", parser=parser)
|
rule = shell_command("ls", parser=parser)
|
||||||
```
|
```
|
||||||
|
|
||||||
\:\:\:tip 提示
|
::: tip 提示
|
||||||
命令内容与后续消息间无需空格!
|
命令内容与后续消息间无需空格!
|
||||||
\:\:\:
|
:::
|
||||||
"""
|
"""
|
||||||
if parser is not None and not isinstance(parser, ArgumentParser):
|
if parser is not None and not isinstance(parser, ArgumentParser):
|
||||||
raise TypeError("`parser` must be an instance of nonebot.rule.ArgumentParser")
|
raise TypeError("`parser` must be an instance of nonebot.rule.ArgumentParser")
|
||||||
@ -455,7 +455,7 @@ class RegexRule:
|
|||||||
|
|
||||||
|
|
||||||
def regex(regex: str, flags: Union[int, re.RegexFlag] = 0) -> Rule:
|
def regex(regex: str, flags: Union[int, re.RegexFlag] = 0) -> Rule:
|
||||||
r"""
|
"""
|
||||||
根据正则表达式进行匹配。
|
根据正则表达式进行匹配。
|
||||||
|
|
||||||
可以通过 `state["_matched"]` `state["_matched_groups"]` `state["_matched_dict"]`
|
可以通过 `state["_matched"]` `state["_matched_groups"]` `state["_matched_dict"]`
|
||||||
@ -465,9 +465,9 @@ def regex(regex: str, flags: Union[int, re.RegexFlag] = 0) -> Rule:
|
|||||||
regex: 正则表达式
|
regex: 正则表达式
|
||||||
flags: 正则标志
|
flags: 正则标志
|
||||||
|
|
||||||
\:\:\:tip 提示
|
::: tip 提示
|
||||||
正则表达式匹配使用 search 而非 match,如需从头匹配请使用 `r"^xxx"` 来确保匹配开头
|
正则表达式匹配使用 search 而非 match,如需从头匹配请使用 `r"^xxx"` 来确保匹配开头
|
||||||
\:\:\:
|
:::
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return Rule(RegexRule(regex, flags))
|
return Rule(RegexRule(regex, flags))
|
||||||
|
Loading…
Reference in New Issue
Block a user