令返回符合格式

This commit is contained in:
hemengyang 2022-01-12 18:43:07 +08:00
parent 456d333568
commit 187532930b
11 changed files with 20 additions and 232 deletions

View File

@ -55,8 +55,7 @@ def get_driver() -> Driver:
"""
获取全局 Driver 对象可用于在计划任务的回调中获取当前 Driver 对象
:返回:
返回:
Driver: 全局 Driver 对象
:异常:
@ -79,8 +78,7 @@ def get_app() -> Any:
"""
获取全局 Driver 对应 Server App 对象
:返回:
返回:
Any: Server App 对象
:异常:
@ -105,8 +103,7 @@ def get_asgi() -> Any:
"""
获取全局 Driver 对应 Asgi 对象
:返回:
返回:
Any: Asgi 对象
:异常:
@ -134,8 +131,7 @@ def get_bot(self_id: Optional[str] = None) -> Bot:
参数:
self_id: 用来识别 Bot ID
:返回:
返回:
Bot: Bot 对象
:异常:
@ -166,8 +162,7 @@ def get_bots() -> Dict[str, Bot]:
"""
获取所有通过 ws 连接 NoneBot Bot 对象
:返回:
返回:
Dict[str, Bot]: 一个以字符串 ID 为键Bot 对象为值的字典
:异常:
@ -228,10 +223,6 @@ def init(*, _env_file: Optional[str] = None, **kwargs):
_env_file: 配置文件名默认从 .env.{env_name} 中读取配置
**kwargs: 任意变量将会存储到 Config 对象里
:返回:
- `None`
:用法:
.. code-block:: python
@ -269,10 +260,6 @@ def run(*args: Any, **kwargs: Any) -> None:
*args: 传入 Driver.run 的位置参数
**kwargs: 传入 Driver.run 的命名参数
:返回:
- `None`
:用法:
.. code-block:: python

View File

@ -17,11 +17,6 @@ class Event(abc.ABC, BaseModel):
def get_type(self) -> str:
"""
获取事件类型的方法类型通常为 NoneBot 内置的四种类型
:返回:
Literal["message", "notice", "request", "meta_event"]
* 其他自定义 `str`
"""
raise NotImplementedError
@ -29,10 +24,6 @@ class Event(abc.ABC, BaseModel):
def get_event_name(self) -> str:
"""
获取事件名称的方法
:返回:
str
"""
raise NotImplementedError
@ -40,10 +31,6 @@ class Event(abc.ABC, BaseModel):
def get_event_description(self) -> str:
"""
获取事件描述的方法通常为事件具体内容
:返回:
str
"""
raise NotImplementedError
@ -54,10 +41,6 @@ class Event(abc.ABC, BaseModel):
"""
获取事件日志信息的方法通常你不需要修改这个方法只有当希望 NoneBot 隐藏该事件日志时可以抛出 `NoLogException` 异常
:返回:
str
:异常:
- `NoLogException`
@ -68,10 +51,6 @@ class Event(abc.ABC, BaseModel):
def get_user_id(self) -> str:
"""
获取事件主体 id 的方法通常是用户 id
:返回:
str
"""
raise NotImplementedError
@ -79,10 +58,6 @@ class Event(abc.ABC, BaseModel):
def get_session_id(self) -> str:
"""
获取会话 id 的方法用于判断当前事件属于哪一个会话通常是用户 id群组 id 组合
:返回:
str
"""
raise NotImplementedError
@ -90,20 +65,12 @@ class Event(abc.ABC, BaseModel):
def get_message(self) -> "Message":
"""
获取事件消息内容的方法
:返回:
Message
"""
raise NotImplementedError
def get_plaintext(self) -> str:
"""
获取消息纯文本的方法通常不需要修改默认通过 `get_message().extract_plain_text` 获取
:返回:
str
"""
return self.get_message().extract_plain_text()
@ -111,9 +78,5 @@ class Event(abc.ABC, BaseModel):
def is_tome(self) -> bool:
"""
获取事件是否与机器人有关的方法
:返回:
bool
"""
raise NotImplementedError

View File

@ -137,9 +137,8 @@ class Message(List[TMS], abc.ABC):
参数:
format_string: 格式化字符串
:返回:
- `MessageFormatter[TM]`: 消息格式化器
返回:
MessageFormatter[TM]: 消息格式化器
"""
return MessageTemplate(format_string, cls)

View File

@ -225,9 +225,8 @@ class Matcher(metaclass=MatcherMeta):
default_state: 默认状态 `state`
expire_time: 事件响应器最终有效时间点过时即被删除
:返回:
- `Type[Matcher]`: 新的事件响应器类
返回:
Type[Matcher]: 新的事件响应器类
"""
NewMatcher = type(
"Matcher",
@ -281,9 +280,8 @@ class Matcher(metaclass=MatcherMeta):
bot: Bot 对象
event: 上报事件
:返回:
- `bool`: 是否满足权限
返回:
bool: 是否满足权限
"""
event_type = event.get_type()
return event_type == (cls.type or event_type) and await cls.permission(
@ -307,9 +305,8 @@ class Matcher(metaclass=MatcherMeta):
event: 上报事件
state: 当前状态
:返回:
- `bool`: 是否满足匹配规则
返回:
bool: 是否满足匹配规则
"""
event_type = event.get_type()
return event_type == (cls.type or event_type) and await cls.rule(

View File

@ -89,10 +89,6 @@ class Permission:
event: Event 对象
stack: 异步上下文栈
dependency_cache: 依赖缓存
:返回:
- `bool`
"""
if not self.checkers:
return True

View File

@ -45,10 +45,6 @@ class Export(dict):
def export() -> Export:
"""
获取插件的导出内容对象
:返回:
- `Export`
"""
plugin = _current_plugin.get()
if not plugin:

View File

@ -16,10 +16,6 @@ def load_plugin(module_path: str) -> Optional[Plugin]:
参数:
module_path: 插件名称 `path.to.your.plugin`
:返回:
- `Optional[Plugin]`
"""
manager = PluginManager([module_path])
@ -32,11 +28,7 @@ def load_plugins(*plugin_dir: str) -> Set[Plugin]:
导入目录下多个插件 `_` 开头的插件不会被导入
参数:
- `*plugin_dir: str`: 插件路径
:返回:
- `Set[Plugin]`
plugin_dir: 插件路径
"""
manager = PluginManager(search_path=plugin_dir)
_managers.append(manager)
@ -50,12 +42,8 @@ def load_all_plugins(
导入指定列表中的插件以及指定目录下多个插件 `_` 开头的插件不会被导入
参数:
- `module_path: Iterable[str]`: 指定插件集合
- `plugin_dir: Iterable[str]`: 指定插件路径集合
:返回:
- `Set[Plugin]`
module_path: 指定插件集合
plugin_dir: 指定插件路径集合
"""
manager = PluginManager(module_path, plugin_dir)
_managers.append(manager)
@ -67,13 +55,8 @@ def load_from_json(file_path: str, encoding: str = "utf-8") -> Set[Plugin]:
导入指定 json 文件中的 `plugins` 以及 `plugin_dirs` 下多个插件 `_` 开头的插件不会被导入
参数:
- `file_path: str`: 指定 json 文件路径
- `encoding: str`: 指定 json 文件编码
:返回:
- `Set[Plugin]`
"""
file_path: 指定 json 文件路径
encoding: 指定 json 文件编码"""
with open(file_path, "r", encoding=encoding) as f:
data = json.load(f)
plugins = data.get("plugins")
@ -89,13 +72,8 @@ def load_from_toml(file_path: str, encoding: str = "utf-8") -> Set[Plugin]:
`_` 开头的插件不会被导入
参数:
- `file_path: str`: 指定 toml 文件路径
- `encoding: str`: 指定 toml 文件编码
:返回:
- `Set[Plugin]`
"""
file_path: 指定 toml 文件路径
encoding: 指定 toml 文件编码"""
with open(file_path, "r", encoding=encoding) as f:
data = tomlkit.parse(f.read()) # type: ignore
@ -119,10 +97,6 @@ def load_from_toml(file_path: str, encoding: str = "utf-8") -> Set[Plugin]:
def load_builtin_plugin(name: str) -> Optional[Plugin]:
"""
导入 NoneBot 内置插件
:返回:
- `Plugin`
"""
return load_plugin(f"nonebot.plugins.{name}")
@ -130,10 +104,6 @@ def load_builtin_plugin(name: str) -> Optional[Plugin]:
def load_builtin_plugins(*plugins) -> Set[Plugin]:
"""
导入多个 NoneBot 内置插件
:返回:
- `Set[Plugin]`
"""
return load_all_plugins([f"nonebot.plugins.{p}" for p in plugins], [])
@ -145,10 +115,6 @@ def require(name: str) -> Export:
参数:
name: 插件名 `load_plugin` 参数一致如果为 `load_plugins` 导入的插件则为文件()
:返回:
- `Export`
:异常:
- `RuntimeError`: 插件无法加载
"""

View File

@ -66,10 +66,6 @@ def on(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
matcher = Matcher.new(
type,
@ -107,10 +103,6 @@ def on_metaevent(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
matcher = Matcher.new(
"meta_event",
@ -150,10 +142,6 @@ def on_message(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
matcher = Matcher.new(
"message",
@ -191,10 +179,6 @@ def on_notice(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
matcher = Matcher.new(
"notice",
@ -232,10 +216,6 @@ def on_request(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
matcher = Matcher.new(
"request",
@ -273,10 +253,6 @@ def on_startswith(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
return on_message(startswith(msg, ignorecase) & rule, **kwargs, _depth=_depth + 1)
@ -301,10 +277,6 @@ def on_endswith(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
return on_message(endswith(msg, ignorecase) & rule, **kwargs, _depth=_depth + 1)
@ -327,10 +299,6 @@ def on_keyword(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
return on_message(keyword(*keywords) & rule, **kwargs, _depth=_depth + 1)
@ -357,10 +325,6 @@ def on_command(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
commands = set([cmd]) | (aliases or set())
@ -396,10 +360,6 @@ def on_shell_command(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
commands = set([cmd]) | (aliases or set())
@ -432,10 +392,6 @@ def on_regex(
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
return on_message(regex(pattern, flags) & rule, **kwargs, _depth=_depth + 1)
@ -467,10 +423,6 @@ class CommandGroup:
参数:
cmd: 命令前缀
**kwargs`on_command` 的参数将会覆盖命令组默认值
:返回:
- `Type[Matcher]`
"""
sub_cmd = (cmd,) if isinstance(cmd, str) else cmd
cmd = self.basecmd + sub_cmd
@ -488,10 +440,6 @@ class CommandGroup:
参数:
cmd: 命令前缀
**kwargs`on_shell_command` 的参数将会覆盖命令组默认值
:返回:
- `Type[Matcher]`
"""
sub_cmd = (cmd,) if isinstance(cmd, str) else cmd
cmd = self.basecmd + sub_cmd
@ -530,10 +478,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -552,10 +496,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -577,10 +517,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -600,10 +536,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -623,10 +555,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -651,10 +579,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -677,10 +601,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -702,10 +622,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -735,10 +651,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -772,10 +684,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)
@ -804,10 +712,6 @@ class MatcherGroup:
priority: 事件响应器优先级
block: 是否阻止事件向更低优先级传递
state: 默认 state
:返回:
- `Type[Matcher]`
"""
final_kwargs = self.base_kwargs.copy()
final_kwargs.update(kwargs)

View File

@ -58,10 +58,6 @@ def get_plugin(name: str) -> Optional[Plugin]:
参数:
name: 插件名 `load_plugin` 参数一致如果为 `load_plugins` 导入的插件则为文件()
:返回:
- `Optional[Plugin]`
"""
return plugins.get(name)
@ -69,10 +65,6 @@ def get_plugin(name: str) -> Optional[Plugin]:
def get_loaded_plugins() -> Set[Plugin]:
"""
获取当前已导入的所有插件
:返回:
- `Set[Plugin]`
"""
return set(plugins.values())

View File

@ -120,10 +120,6 @@ class Rule:
state: 当前 State
stack: 异步上下文栈
dependency_cache: 依赖缓存
:返回:
- `bool`
"""
if not self.checkers:
return True

View File

@ -35,10 +35,6 @@ def escape_tag(s: str) -> str:
参数:
s: 需要转义的字符串
:返回:
- `str`
"""
return re.sub(r"</?((?:[fb]g\s)?[^<>\s]*)>", r"\\\g<0>", s)
@ -91,10 +87,6 @@ def run_sync(call: Callable[P, R]) -> Callable[P, Awaitable[R]]:
参数:
call: 被装饰的同步函数
:返回:
- `Callable[P, Awaitable[R]]`
"""
@wraps(call)