令用法符合格式

This commit is contained in:
hemengyang 2022-01-12 18:53:30 +08:00
parent edb20a4786
commit 6d21cbed55
11 changed files with 64 additions and 93 deletions

View File

@ -61,12 +61,10 @@ def get_driver() -> Driver:
异常:
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
:用法:
.. code-block:: python
用法:
```python
driver = nonebot.get_driver()
```
"""
if _driver is None:
raise ValueError("NoneBot has not been initialized.")
@ -83,12 +81,10 @@ def get_app() -> Any:
异常:
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
:用法:
.. code-block:: python
用法:
```python
app = nonebot.get_app()
```
"""
driver = get_driver()
assert isinstance(
@ -107,12 +103,10 @@ def get_asgi() -> Any:
异常:
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
:用法:
.. code-block:: python
用法:
```python
asgi = nonebot.get_asgi()
```
"""
driver = get_driver()
assert isinstance(
@ -136,13 +130,12 @@ def get_bot(self_id: Optional[str] = None) -> Bot:
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
ValueError: 没有传入 ID 且没有 Bot 可用
:用法:
.. code-block:: python
用法:
```python
assert nonebot.get_bot('12345') == nonebot.get_bots()['12345']
another_unspecified_bot = nonebot.get_bot()
```
"""
bots = get_bots()
if self_id is not None:
@ -164,12 +157,10 @@ def get_bots() -> Dict[str, Bot]:
异常:
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
:用法:
.. code-block:: python
用法:
```python
bots = nonebot.get_bots()
```
"""
driver = get_driver()
return driver.bots
@ -218,12 +209,10 @@ def init(*, _env_file: Optional[str] = None, **kwargs):
_env_file: 配置文件名默认从 .env.{env_name} 中读取配置
**kwargs: 任意变量将会存储到 Config 对象里
:用法:
.. code-block:: python
用法:
```python
nonebot.init(database=Database(...))
```
"""
global _driver
if not _driver:
@ -255,12 +244,10 @@ def run(*args: Any, **kwargs: Any) -> None:
*args: 传入 Driver.run 的位置参数
**kwargs: 传入 Driver.run 的命名参数
:用法:
.. code-block:: python
用法:
```python
nonebot.run(host="127.0.0.1", port=8080)
```
"""
logger.success("Running NoneBot...")
get_driver().run(*args, **kwargs)

View File

@ -63,12 +63,11 @@ class Bot(abc.ABC):
api: API 名称
**data: API 数据
:示例:
.. code-block:: python
用法:
```python
await bot.call_api("send_msg", message="hello world")
await bot.send_msg(message="hello world")
```
"""
result: Any = None

View File

@ -117,10 +117,8 @@ class Message(List[TMS], abc.ABC):
并且提供了拓展的格式化控制符, 可以用适用于该消息类型的 `MessageSegment` 的工厂方法创建消息
:示例:
.. code-block:: python
用法:
```python
>>> Message.template("{} {}").format("hello", "world") # 基础演示
Message(MessageSegment(type='text', data={'text': 'hello world'}))
>>> Message.template("{} {}").format(MessageSegment.image("file///..."), "world") # 支持消息段等对象
@ -133,6 +131,7 @@ class Message(List[TMS], abc.ABC):
MessageSegment(type='text', data={'text': 'test hello world'}))
>>> Message.template("{link:image}").format(link='https://...') # 支持拓展格式化控制符
Message(MessageSegment(type='image', data={'file': 'https://...'}))
```
参数:
format_string: 格式化字符串

View File

@ -177,12 +177,11 @@ class Config(BaseConfig):
"""
配置 NoneBot 日志输出等级可以为 `int` 类型等级或等级名称参考 `loguru 日志等级`_
:示例:
.. code-block:: default
用法:
```conf
LOG_LEVEL=25
LOG_LEVEL=INFO
```
.. _loguru 日志等级:
https://loguru.readthedocs.io/en/stable/api/logger.html#levels
@ -199,11 +198,10 @@ class Config(BaseConfig):
"""
机器人超级用户
:示例:
.. code-block:: default
用法:
```conf
SUPERUSERS=["12345789"]
```
"""
nickname: Set[str] = set()
"""
@ -221,13 +219,12 @@ class Config(BaseConfig):
"""
等待用户回复的超时时间
:示例:
.. code-block:: default
用法:
```conf
SESSION_EXPIRE_TIMEOUT=120 # 单位: 秒
SESSION_EXPIRE_TIMEOUT=[DD ][HH:MM]SS[.ffffff]
SESSION_EXPIRE_TIMEOUT=P[DD]DT[HH]H[MM]M[SS]S # ISO 8601
```
"""
# adapter configs

View File

@ -85,8 +85,7 @@ class StopPropagation(ProcessException):
"""
指示 NoneBot 终止事件向下层传播
:用法:
用法:
`Matcher.block == True` 时抛出
"""
@ -102,8 +101,7 @@ class SkippedException(MatcherException):
"""
指示 NoneBot 立即结束当前 `Handler` 的处理继续处理下一个 `Handler`
:用法:
用法:
可以在 `Handler` 中通过 `Matcher.skip()` 抛出
"""
@ -129,8 +127,7 @@ class PausedException(MatcherException):
指示 NoneBot 结束当前 `Handler` 并等待下一条消息后继续下一个 `Handler`
可用于用户输入新信息
:用法:
用法:
可以在 `Handler` 中通过 `Matcher.pause()` 抛出
"""
@ -140,8 +137,7 @@ class RejectedException(MatcherException):
指示 NoneBot 结束当前 `Handler` 并等待下一条消息后重新运行当前 `Handler`
可用于用户重新输入
:用法:
用法:
可以在 `Handler` 中通过 `Matcher.reject()` 抛出
"""
@ -151,8 +147,7 @@ class FinishedException(MatcherException):
指示 NoneBot 结束当前 `Handler` 且后续 `Handler` 不再被运行
可用于结束用户会话
:用法:
用法:
可以在 `Handler` 中通过 `Matcher.finish()` 抛出
"""

View File

@ -32,11 +32,10 @@ NoneBot 日志记录器对象。
* 等级: `INFO` 根据 `config.log_level` 配置改变
* 输出: 输出至 stdout
:用法:
.. code-block:: python
用法:
```python
from nonebot.log import logger
```
"""
# default_handler = logging.StreamHandler(sys.stdout)

View File

@ -240,12 +240,11 @@ async def handle_event(bot: "Bot", event: "Event") -> None:
bot: Bot 对象
event: Event 对象
:示例:
.. code-block:: python
用法:
```python
import asyncio
asyncio.create_task(handle_event(bot, event))
```
"""
show_log = True
log_msg = f"<m>{escape_tag(bot.type.upper())} {escape_tag(bot.self_id)}</m> | "

View File

@ -62,8 +62,8 @@ def Depends(
dependency: 依赖函数默认为参数的类型注释
use_cache: 是否使用缓存默认为 `True`
.. code-block:: python
用法:
```python
def depend_func() -> Any:
return ...
@ -75,6 +75,7 @@ def Depends(
async def handler(param_name: Any = Depends(depend_func), gen: Any = Depends(depend_gen_func)):
...
```
"""
return DependsInner(dependency, use_cache=use_cache)

View File

@ -37,14 +37,13 @@ class Permission:
"""
`Matcher` 规则类当事件传递时 `Matcher` 运行前进行检查
:示例:
.. code-block:: python
用法:
```python
Permission(async_function) | sync_function
# 等价于
from nonebot.utils import run_sync
Permission(async_function, run_sync(sync_function))
```
"""
__slots__ = ("checkers",)

View File

@ -5,10 +5,8 @@ class Export(dict):
"""
插件导出内容以使得其他插件可以获得
:示例:
.. code-block:: python
用法:
```python
nonebot.export().default = "bar"
@nonebot.export()
@ -23,6 +21,7 @@ class Export(dict):
@nonebot.export().sub
def something_else():
pass
```
"""
def __call__(self, func, **kwargs):

View File

@ -65,14 +65,13 @@ class Rule:
"""
`Matcher` 规则类当事件传递时 `Matcher` 运行前进行检查
:示例:
.. code-block:: python
用法:
```python
Rule(async_function) & sync_function
# 等价于
from nonebot.utils import run_sync
Rule(async_function, run_sync(sync_function))
```
"""
__slots__ = ("checkers",)
@ -294,8 +293,7 @@ def command(*cmds: Union[str, Tuple[str, ...]]) -> Rule:
参数:
*cmds: 命令内容
:示例:
用法:
使用默认 `command_start`, `command_sep` 配置
命令 `("test",)` 可以匹配`/test` 开头的消息
@ -394,18 +392,17 @@ def shell_command(
*cmds: 命令内容
parser: `nonebot.rule.ArgumentParser` 对象
:示例:
使用默认 `command_start`, `command_sep` 配置更多示例参考 `argparse` 标准库文档
.. code-block:: python
用法:
使用默认 `command_start`, `command_sep` 配置更多示例参考 `argparse` 标准库文档
```python
from nonebot.rule import ArgumentParser
parser = ArgumentParser()
parser.add_argument("-a", action="store_true")
rule = shell_command("ls", parser=parser)
```
\:\:\:tip 提示
命令内容与后续消息间无需空格