mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-24 00:55:07 +08:00
令用法符合格式
This commit is contained in:
parent
edb20a4786
commit
6d21cbed55
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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: 格式化字符串
|
||||
|
@ -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
|
||||
|
@ -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()` 抛出。
|
||||
"""
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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> | "
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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",)
|
||||
|
@ -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):
|
||||
|
@ -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 提示
|
||||
命令内容与后续消息间无需空格!
|
||||
|
Loading…
Reference in New Issue
Block a user