令参数符合标准

This commit is contained in:
hemengyang 2022-01-12 18:31:12 +08:00
parent a5f32febbd
commit 456d333568
17 changed files with 85 additions and 170 deletions

View File

@ -131,8 +131,7 @@ def get_bot(self_id: Optional[str] = None) -> Bot:
"""
当提供 self_id 此函数是 get_bots()[self_id] 的简写当不提供时返回一个 Bot
:参数:
参数:
self_id: 用来识别 Bot ID
:返回:
@ -225,8 +224,7 @@ def init(*, _env_file: Optional[str] = None, **kwargs):
你也可以传入自定义的 _env_file 来指定 NoneBot 从该文件读取配置
:参数:
参数:
_env_file: 配置文件名默认从 .env.{env_name} 中读取配置
**kwargs: 任意变量将会存储到 Config 对象里
@ -267,8 +265,7 @@ def run(*args: Any, **kwargs: Any) -> None:
"""
启动 NoneBot即运行全局 Driver 对象
:参数:
参数:
*args: 传入 Driver.run 的位置参数
**kwargs: 传入 Driver.run 的命名参数

View File

@ -65,8 +65,7 @@ class Adapter(abc.ABC):
"""
`adapter` 实际调用 api 的逻辑实现函数实现该方法以调用 api
:参数:
参数:
api: API 名称
**data: API 数据
"""

View File

@ -36,8 +36,7 @@ class Bot(abc.ABC):
def __init__(self, adapter: "Adapter", self_id: str):
"""
:参数:
参数:
self_id: 机器人 ID
request: request 连接对象
"""
@ -60,8 +59,7 @@ class Bot(abc.ABC):
"""
调用机器人 API 接口可以通过该函数或直接通过 bot 属性进行调用
:参数:
参数:
api: API 名称
**data: API 数据
@ -129,8 +127,7 @@ class Bot(abc.ABC):
"""
调用机器人基础发送消息接口
:参数:
参数:
event: 上报事件
message: 要发送的消息
**kwargs
@ -142,8 +139,7 @@ class Bot(abc.ABC):
"""
调用 api 预处理
:参数:
参数:
bot: 当前 bot 对象
api: 调用的 api 名称
data: api 调用的参数字典
@ -156,8 +152,7 @@ class Bot(abc.ABC):
"""
调用 api 后处理
:参数:
参数:
bot: 当前 bot 对象
exception: 调用 api 时发生的错误
api: 调用的 api 名称

View File

@ -97,8 +97,7 @@ class Message(List[TMS], abc.ABC):
**kwargs,
):
"""
:参数:
参数:
message: 消息内容
"""
super().__init__(*args, **kwargs)
@ -135,8 +134,7 @@ class Message(List[TMS], abc.ABC):
>>> Message.template("{link:image}").format(link='https://...') # 支持拓展格式化控制符
Message(MessageSegment(type='image', data={'file': 'https://...'}))
:参数:
参数:
format_string: 格式化字符串
:返回:
@ -188,8 +186,7 @@ class Message(List[TMS], abc.ABC):
"""
添加一个消息段到消息数组末尾
:参数:
参数:
obj: 要添加的消息段
"""
if isinstance(obj, MessageSegment):
@ -204,8 +201,7 @@ class Message(List[TMS], abc.ABC):
"""
拼接一个消息数组或多个消息段到消息数组末尾
:参数:
参数:
obj: 要添加的消息数组
"""
for segment in obj:

View File

@ -49,8 +49,7 @@ class MessageTemplate(Formatter, Generic[TF]):
"""
创建一个模板
:参数:
参数:
template: 模板
factory: 消息构造类型默认为 `str`
"""

View File

@ -54,8 +54,7 @@ class Driver(abc.ABC):
def __init__(self, env: Env, config: Config):
"""
:参数:
参数:
env: 包含环境信息的 Env 对象
config: 包含配置信息的 Config 对象
"""
@ -83,8 +82,7 @@ class Driver(abc.ABC):
"""
注册一个协议适配器
:参数:
参数:
name: 适配器名称用于在连接时进行识别
adapter: 适配器 Class
**kwargs: 其他传递给适配器的参数
@ -117,8 +115,7 @@ class Driver(abc.ABC):
"""
启动驱动框架
:参数:
*args
参数: *args
**kwargs
"""
logger.opt(colors=True).debug(

View File

@ -41,8 +41,7 @@ class BlockDriver(Driver):
"""
注册一个启动时执行的函数
:参数:
参数:
func
"""
self.startup_funcs.add(func)
@ -53,8 +52,7 @@ class BlockDriver(Driver):
"""
注册一个停止时执行的函数
:参数:
参数:
func
"""
self.shutdown_funcs.add(func)

View File

@ -22,8 +22,7 @@ class ParserExit(NoneBotException):
"""
`shell command` 处理消息失败时返回的异常
:参数:
参数:
status
message
"""
@ -50,8 +49,7 @@ class IgnoredException(ProcessException):
"""
指示 NoneBot 应该忽略该事件可由 PreProcessor 抛出
:参数:
参数:
reason: 忽略事件的原因
"""
@ -69,8 +67,7 @@ class MockApiException(ProcessException):
"""
指示 NoneBot 阻止本次 API 调用或修改本次调用返回值并返回自定义内容可由 api hook 抛出
:参数:
参数:
result: 返回的内容
"""
@ -165,8 +162,7 @@ class AdapterException(NoneBotException):
"""
代表 `Adapter` 抛出的异常所有的 `Adapter` 都要在内部继承自这个 `Exception`
:参数:
参数:
adapter_name: 标识 adapter
"""

View File

@ -212,8 +212,7 @@ class Matcher(metaclass=MatcherMeta):
"""
创建一个新的事件响应器并存储至 `matchers <#matchers>`_
:参数:
参数:
type_: 事件响应器类型 `event.get_type()` 一致时触发空字符串表示任意
rule: 匹配规则
permission: 权限
@ -278,8 +277,7 @@ class Matcher(metaclass=MatcherMeta):
"""
检查是否满足触发权限
:参数:
参数:
bot: Bot 对象
event: 上报事件
@ -304,8 +302,7 @@ class Matcher(metaclass=MatcherMeta):
"""
检查是否满足匹配规则
:参数:
参数:
bot: Bot 对象
event: 上报事件
state: 当前状态
@ -324,8 +321,7 @@ class Matcher(metaclass=MatcherMeta):
"""
装饰一个函数来更改当前事件响应器的默认响应事件类型更新函数
:参数:
参数:
func: 响应事件类型更新函数
"""
cls._default_type_updater = Dependent[str].parse(
@ -338,8 +334,7 @@ class Matcher(metaclass=MatcherMeta):
"""
装饰一个函数来更改当前事件响应器的默认会话权限更新函数
:参数:
参数:
func: 会话权限更新函数
"""
cls._default_permission_updater = Dependent[Permission].parse(
@ -366,8 +361,7 @@ class Matcher(metaclass=MatcherMeta):
"""
装饰一个函数来向事件响应器直接添加一个处理函数
:参数:
参数:
parameterless: 非参数类型依赖列表
"""
@ -384,8 +378,7 @@ class Matcher(metaclass=MatcherMeta):
"""
装饰一个函数来指示 NoneBot 在接收用户新的一条消息后继续运行该函数
:参数:
参数:
id: 消息 ID
parameterless: 非参数类型依赖列表
"""
@ -424,8 +417,7 @@ class Matcher(metaclass=MatcherMeta):
"""
装饰一个函数来指示 NoneBot 当要获取的 `key` 不存在时接收用户新的一条消息并经过 `ArgsParser` 处理后再运行该函数如果 `key` 已存在则直接继续运行
:参数:
参数:
key: 参数名
prompt: 在参数不存在时向用户发送的消息
args_parser: 可选参数解析函数空则使用默认解析函数
@ -468,8 +460,7 @@ class Matcher(metaclass=MatcherMeta):
"""
发送一条消息给当前交互用户
:参数:
参数:
message: 消息内容
**kwargs`bot.send` 的参数请参考对应 adapter bot 对象 api
"""
@ -491,8 +482,7 @@ class Matcher(metaclass=MatcherMeta):
"""
发送一条消息给当前交互用户并结束当前事件响应器
:参数:
参数:
message: 消息内容
**kwargs`bot.send` 的参数请参考对应 adapter bot 对象 api
"""
@ -509,8 +499,7 @@ class Matcher(metaclass=MatcherMeta):
"""
发送一条消息给当前交互用户并暂停事件响应器在接收用户新的一条消息后继续下一个处理函数
:参数:
参数:
prompt: 消息内容
**kwargs`bot.send` 的参数请参考对应 adapter bot 对象 api
"""
@ -527,8 +516,7 @@ class Matcher(metaclass=MatcherMeta):
"""
最近使用 `got` / `receive` 接收的消息不符合预期发送一条消息给当前交互用户并暂停事件响应器在接收用户新的一条消息后继续当前处理函数
:参数:
参数:
prompt: 消息内容
**kwargs`bot.send` 的参数请参考对应 adapter bot 对象 api
"""
@ -546,8 +534,7 @@ class Matcher(metaclass=MatcherMeta):
"""
最近使用 `got` 接收的消息不符合预期发送一条消息给当前交互用户并暂停事件响应器在接收用户新的一条消息后继续当前处理函数
:参数:
参数:
key: 参数名
prompt: 消息内容
**kwargs`bot.send` 的参数请参考对应 adapter bot 对象 api
@ -568,8 +555,7 @@ class Matcher(metaclass=MatcherMeta):
"""
最近使用 `got` 接收的消息不符合预期发送一条消息给当前交互用户并暂停事件响应器在接收用户新的一条消息后继续当前处理函数
:参数:
参数:
id: 消息 id
prompt: 消息内容
**kwargs`bot.send` 的参数请参考对应 adapter bot 对象 api

View File

@ -236,8 +236,7 @@ async def handle_event(bot: "Bot", event: "Event") -> None:
"""
处理一个事件调用该函数以实现分发事件
:参数:
参数:
bot: Bot 对象
event: Event 对象

View File

@ -58,8 +58,7 @@ def Depends(
"""
参数依赖注入装饰器
:参数:
参数:
dependency: 依赖函数默认为参数的类型注释
use_cache: 是否使用缓存默认为 `True`

View File

@ -58,8 +58,7 @@ class Permission:
def __init__(self, *checkers: Union[T_PermissionChecker, Dependent[bool]]) -> None:
"""
:参数:
参数:
*checkers: PermissionChecker
"""
@ -85,8 +84,7 @@ class Permission:
"""
检查是否满足某个权限
:参数:
参数:
bot: Bot 对象
event: Event 对象
stack: 异步上下文栈
@ -183,8 +181,7 @@ def USER(*users: str, perm: Optional[Permission] = None):
"""
`event` `session_id` 在白名单内且满足 perm
:参数:
参数:
*user: 白名单
perm: 需要同时满足的权限
"""

View File

@ -14,8 +14,7 @@ def load_plugin(module_path: str) -> Optional[Plugin]:
"""
使用 `PluginManager` 加载单个插件可以是本地插件或是通过 `pip` 安装的插件
:参数:
参数:
module_path: 插件名称 `path.to.your.plugin`
:返回:
@ -32,8 +31,7 @@ def load_plugins(*plugin_dir: str) -> Set[Plugin]:
"""
导入目录下多个插件 `_` 开头的插件不会被导入
:参数:
参数:
- `*plugin_dir: str`: 插件路径
:返回:
@ -51,8 +49,7 @@ def load_all_plugins(
"""
导入指定列表中的插件以及指定目录下多个插件 `_` 开头的插件不会被导入
:参数:
参数:
- `module_path: Iterable[str]`: 指定插件集合
- `plugin_dir: Iterable[str]`: 指定插件路径集合
@ -69,8 +66,7 @@ def load_from_json(file_path: str, encoding: str = "utf-8") -> Set[Plugin]:
"""
导入指定 json 文件中的 `plugins` 以及 `plugin_dirs` 下多个插件 `_` 开头的插件不会被导入
:参数:
参数:
- `file_path: str`: 指定 json 文件路径
- `encoding: str`: 指定 json 文件编码
@ -92,8 +88,7 @@ def load_from_toml(file_path: str, encoding: str = "utf-8") -> Set[Plugin]:
导入指定 toml 文件 `[tool.nonebot]` 中的 `plugins` 以及 `plugin_dirs` 下多个插件
`_` 开头的插件不会被导入
:参数:
参数:
- `file_path: str`: 指定 toml 文件路径
- `encoding: str`: 指定 toml 文件编码
@ -147,8 +142,7 @@ def require(name: str) -> Export:
"""
获取一个插件的导出内容
:参数:
参数:
name: 插件名 `load_plugin` 参数一致如果为 `load_plugins` 导入的插件则为文件()
:返回:

View File

@ -57,8 +57,7 @@ def on(
"""
注册一个基础事件响应器可自定义类型
:参数:
参数:
type: 事件响应器类型
rule: 事件响应规则
permission: 事件响应权限
@ -101,8 +100,7 @@ def on_metaevent(
"""
注册一个元事件响应器
:参数:
参数:
rule: 事件响应规则
handlers: 事件处理函数列表
temp: 是否为临时事件响应器仅执行一次
@ -144,8 +142,7 @@ def on_message(
"""
注册一个消息事件响应器
:参数:
参数:
rule: 事件响应规则
permission: 事件响应权限
handlers: 事件处理函数列表
@ -187,8 +184,7 @@ def on_notice(
"""
注册一个通知事件响应器
:参数:
参数:
rule: 事件响应规则
handlers: 事件处理函数列表
temp: 是否为临时事件响应器仅执行一次
@ -229,8 +225,7 @@ def on_request(
"""
注册一个请求事件响应器
:参数:
参数:
rule: 事件响应规则
handlers: 事件处理函数列表
temp: 是否为临时事件响应器仅执行一次
@ -268,8 +263,7 @@ def on_startswith(
"""
注册一个消息事件响应器并且当消息的**文本部分**以指定内容开头时响应
:参数:
参数:
msg: 指定消息开头内容
rule: 事件响应规则
ignorecase: 是否忽略大小写
@ -297,8 +291,7 @@ def on_endswith(
"""
注册一个消息事件响应器并且当消息的**文本部分**以指定内容结尾时响应
:参数:
参数:
msg: 指定消息结尾内容
rule: 事件响应规则
ignorecase: 是否忽略大小写
@ -325,8 +318,7 @@ def on_keyword(
"""
注册一个消息事件响应器并且当消息纯文本部分包含关键词时响应
:参数:
参数:
keywords: 关键词列表
rule: 事件响应规则
permission: 事件响应权限
@ -355,8 +347,7 @@ def on_command(
命令匹配规则参考: `命令形式匹配 <rule.md#command-command>`_
:参数:
参数:
cmd: 指定命令内容
rule: 事件响应规则
aliases: 命令别名
@ -394,8 +385,7 @@ def on_shell_command(
并将用户输入的原始参数列表保存在 `state["argv"]`, `parser` 处理的参数保存在 `state["args"]`
:参数:
参数:
cmd: 指定命令内容
rule: 事件响应规则
aliases: 命令别名
@ -432,8 +422,7 @@ def on_regex(
命令匹配规则参考: `正则匹配 <rule.md#regex-regex-flags-0>`_
:参数:
参数:
pattern: 正则表达式
flags: 正则匹配标志
rule: 事件响应规则
@ -456,8 +445,7 @@ class CommandGroup:
def __init__(self, cmd: Union[str, Tuple[str, ...]], **kwargs):
"""
:参数:
参数:
cmd: 命令前缀
**kwargs`on_command` 的参数默认值参考 `on_command <#on-command-cmd-rule-none-aliases-none-kwargs>`_
"""
@ -476,8 +464,7 @@ class CommandGroup:
"""
注册一个新的命令
:参数:
参数:
cmd: 命令前缀
**kwargs`on_command` 的参数将会覆盖命令组默认值
@ -498,8 +485,7 @@ class CommandGroup:
"""
注册一个新的命令
:参数:
参数:
cmd: 命令前缀
**kwargs`on_shell_command` 的参数将会覆盖命令组默认值
@ -535,8 +521,7 @@ class MatcherGroup:
"""
注册一个基础事件响应器可自定义类型
:参数:
参数:
type: 事件响应器类型
rule: 事件响应规则
permission: 事件响应权限
@ -560,8 +545,7 @@ class MatcherGroup:
"""
注册一个元事件响应器
:参数:
参数:
rule: 事件响应规则
handlers: 事件处理函数列表
temp: 是否为临时事件响应器仅执行一次
@ -585,8 +569,7 @@ class MatcherGroup:
"""
注册一个消息事件响应器
:参数:
参数:
rule: 事件响应规则
permission: 事件响应权限
handlers: 事件处理函数列表
@ -610,8 +593,7 @@ class MatcherGroup:
"""
注册一个通知事件响应器
:参数:
参数:
rule: 事件响应规则
handlers: 事件处理函数列表
temp: 是否为临时事件响应器仅执行一次
@ -634,8 +616,7 @@ class MatcherGroup:
"""
注册一个请求事件响应器
:参数:
参数:
rule: 事件响应规则
handlers: 事件处理函数列表
temp: 是否为临时事件响应器仅执行一次
@ -660,8 +641,7 @@ class MatcherGroup:
"""
注册一个消息事件响应器并且当消息的**文本部分**以指定内容开头时响应
:参数:
参数:
msg: 指定消息开头内容
ignorecase: 是否忽略大小写
rule: 事件响应规则
@ -687,8 +667,7 @@ class MatcherGroup:
"""
注册一个消息事件响应器并且当消息的**文本部分**以指定内容结尾时响应
:参数:
参数:
msg: 指定消息结尾内容
ignorecase: 是否忽略大小写
rule: 事件响应规则
@ -714,8 +693,7 @@ class MatcherGroup:
"""
注册一个消息事件响应器并且当消息纯文本部分包含关键词时响应
:参数:
参数:
keywords: 关键词列表
rule: 事件响应规则
permission: 事件响应权限
@ -747,8 +725,7 @@ class MatcherGroup:
命令匹配规则参考: `命令形式匹配 <rule.md#command-command>`_
:参数:
参数:
cmd: 指定命令内容
aliases: 命令别名
rule: 事件响应规则
@ -784,8 +761,7 @@ class MatcherGroup:
并将用户输入的原始参数列表保存在 `state["argv"]`, `parser` 处理的参数保存在 `state["args"]`
:参数:
参数:
cmd: 指定命令内容
aliases: 命令别名
parser: `nonebot.rule.ArgumentParser` 对象
@ -818,8 +794,7 @@ class MatcherGroup:
命令匹配规则参考: `正则匹配 <rule.md#regex-regex-flags-0>`_
:参数:
参数:
pattern: 正则表达式
flags: 正则匹配标志
rule: 事件响应规则

View File

@ -56,8 +56,7 @@ def get_plugin(name: str) -> Optional[Plugin]:
"""
获取当前导入的某个插件
:参数:
参数:
name: 插件名 `load_plugin` 参数一致如果为 `load_plugins` 导入的插件则为文件()
:返回:

View File

@ -87,8 +87,7 @@ class Rule:
def __init__(self, *checkers: Union[T_RuleChecker, Dependent[bool]]) -> None:
"""
:参数:
参数:
*checkers: RuleChecker
"""
@ -115,8 +114,7 @@ class Rule:
"""
检查是否符合所有规则
:参数:
参数:
bot: Bot 对象
event: Event 对象
state: 当前 State
@ -216,8 +214,7 @@ def startswith(msg: Union[str, Tuple[str, ...]], ignorecase: bool = False) -> Ru
"""
匹配消息开头
:参数:
参数:
msg: 消息开头字符串
"""
if isinstance(msg, str):
@ -249,8 +246,7 @@ def endswith(msg: Union[str, Tuple[str, ...]], ignorecase: bool = False) -> Rule
"""
匹配消息结尾
:参数:
参数:
msg: 消息结尾字符串
"""
if isinstance(msg, str):
@ -275,8 +271,7 @@ def keyword(*keywords: str) -> Rule:
"""
匹配消息关键词
:参数:
参数:
*keywords: 关键词
"""
@ -300,8 +295,7 @@ def command(*cmds: Union[str, Tuple[str, ...]]) -> Rule:
可以通过 `state["_prefix"]["command"]` 获取匹配成功的命令`("test",)`通过 `state["_prefix"]["raw_command"]` 获取匹配成功的原始命令文本`"/test"`
:参数:
参数:
*cmds: 命令内容
:示例:
@ -400,8 +394,7 @@ def shell_command(
添加 `parser` 参数后, 可以自动处理消息并将结果保存在 `state["args"]`
:参数:
参数:
*cmds: 命令内容
parser: `nonebot.rule.ArgumentParser` 对象
@ -475,8 +468,7 @@ def regex(regex: str, flags: Union[int, re.RegexFlag] = 0) -> Rule:
可以通过 `state["_matched"]` `state["_matched_groups"]` `state["_matched_dict"]`
获取正则表达式匹配成功的文本
:参数:
参数:
regex: 正则表达式
flags: 正则标志
@ -497,8 +489,7 @@ def to_me() -> Rule:
"""
通过 `event.is_tome()` 判断事件是否与机器人有关
:参数:
参数:
*
"""

View File

@ -33,8 +33,7 @@ def escape_tag(s: str) -> str:
"""
用于记录带颜色日志时转义 `<tag>` 类型特殊标签
:参数:
参数:
s: 需要转义的字符串
:返回:
@ -90,8 +89,7 @@ def run_sync(call: Callable[P, R]) -> Callable[P, Awaitable[R]]:
"""
一个用于包装 sync function async function 的装饰器
:参数:
参数:
call: 被装饰的同步函数
:返回: