mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-24 09:05:04 +08:00
令用法符合格式
This commit is contained in:
parent
edb20a4786
commit
6d21cbed55
@ -61,12 +61,10 @@ def get_driver() -> Driver:
|
|||||||
异常:
|
异常:
|
||||||
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
driver = nonebot.get_driver()
|
driver = nonebot.get_driver()
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
if _driver is None:
|
if _driver is None:
|
||||||
raise ValueError("NoneBot has not been initialized.")
|
raise ValueError("NoneBot has not been initialized.")
|
||||||
@ -83,12 +81,10 @@ def get_app() -> Any:
|
|||||||
异常:
|
异常:
|
||||||
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
app = nonebot.get_app()
|
app = nonebot.get_app()
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
driver = get_driver()
|
driver = get_driver()
|
||||||
assert isinstance(
|
assert isinstance(
|
||||||
@ -107,12 +103,10 @@ def get_asgi() -> Any:
|
|||||||
异常:
|
异常:
|
||||||
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
asgi = nonebot.get_asgi()
|
asgi = nonebot.get_asgi()
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
driver = get_driver()
|
driver = get_driver()
|
||||||
assert isinstance(
|
assert isinstance(
|
||||||
@ -136,13 +130,12 @@ def get_bot(self_id: Optional[str] = None) -> Bot:
|
|||||||
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
||||||
ValueError: 没有传入 ID 且没有 Bot 可用
|
ValueError: 没有传入 ID 且没有 Bot 可用
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
assert nonebot.get_bot('12345') == nonebot.get_bots()['12345']
|
assert nonebot.get_bot('12345') == nonebot.get_bots()['12345']
|
||||||
|
|
||||||
another_unspecified_bot = nonebot.get_bot()
|
another_unspecified_bot = nonebot.get_bot()
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
bots = get_bots()
|
bots = get_bots()
|
||||||
if self_id is not None:
|
if self_id is not None:
|
||||||
@ -164,12 +157,10 @@ def get_bots() -> Dict[str, Bot]:
|
|||||||
异常:
|
异常:
|
||||||
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
ValueError: 全局 Driver 对象尚未初始化 (nonebot.init 尚未调用)
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
bots = nonebot.get_bots()
|
bots = nonebot.get_bots()
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
driver = get_driver()
|
driver = get_driver()
|
||||||
return driver.bots
|
return driver.bots
|
||||||
@ -218,12 +209,10 @@ def init(*, _env_file: Optional[str] = None, **kwargs):
|
|||||||
_env_file: 配置文件名,默认从 .env.{env_name} 中读取配置
|
_env_file: 配置文件名,默认从 .env.{env_name} 中读取配置
|
||||||
**kwargs: 任意变量,将会存储到 Config 对象里
|
**kwargs: 任意变量,将会存储到 Config 对象里
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
nonebot.init(database=Database(...))
|
nonebot.init(database=Database(...))
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
global _driver
|
global _driver
|
||||||
if not _driver:
|
if not _driver:
|
||||||
@ -255,12 +244,10 @@ def run(*args: Any, **kwargs: Any) -> None:
|
|||||||
*args: 传入 Driver.run 的位置参数
|
*args: 传入 Driver.run 的位置参数
|
||||||
**kwargs: 传入 Driver.run 的命名参数
|
**kwargs: 传入 Driver.run 的命名参数
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
nonebot.run(host="127.0.0.1", port=8080)
|
nonebot.run(host="127.0.0.1", port=8080)
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
logger.success("Running NoneBot...")
|
logger.success("Running NoneBot...")
|
||||||
get_driver().run(*args, **kwargs)
|
get_driver().run(*args, **kwargs)
|
||||||
|
@ -63,12 +63,11 @@ class Bot(abc.ABC):
|
|||||||
api: API 名称
|
api: API 名称
|
||||||
**data: API 数据
|
**data: API 数据
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
await bot.call_api("send_msg", message="hello world")
|
await bot.call_api("send_msg", message="hello world")
|
||||||
await bot.send_msg(message="hello world")
|
await bot.send_msg(message="hello world")
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
result: Any = None
|
result: Any = None
|
||||||
|
@ -117,10 +117,8 @@ class Message(List[TMS], abc.ABC):
|
|||||||
|
|
||||||
并且提供了拓展的格式化控制符, 可以用适用于该消息类型的 `MessageSegment` 的工厂方法创建消息
|
并且提供了拓展的格式化控制符, 可以用适用于该消息类型的 `MessageSegment` 的工厂方法创建消息
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
>>> Message.template("{} {}").format("hello", "world") # 基础演示
|
>>> Message.template("{} {}").format("hello", "world") # 基础演示
|
||||||
Message(MessageSegment(type='text', data={'text': 'hello world'}))
|
Message(MessageSegment(type='text', data={'text': 'hello world'}))
|
||||||
>>> Message.template("{} {}").format(MessageSegment.image("file///..."), "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'}))
|
MessageSegment(type='text', data={'text': 'test hello world'}))
|
||||||
>>> Message.template("{link:image}").format(link='https://...') # 支持拓展格式化控制符
|
>>> Message.template("{link:image}").format(link='https://...') # 支持拓展格式化控制符
|
||||||
Message(MessageSegment(type='image', data={'file': 'https://...'}))
|
Message(MessageSegment(type='image', data={'file': 'https://...'}))
|
||||||
|
```
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
format_string: 格式化字符串
|
format_string: 格式化字符串
|
||||||
|
@ -177,12 +177,11 @@ class Config(BaseConfig):
|
|||||||
"""
|
"""
|
||||||
配置 NoneBot 日志输出等级,可以为 `int` 类型等级或等级名称,参考 `loguru 日志等级`_。
|
配置 NoneBot 日志输出等级,可以为 `int` 类型等级或等级名称,参考 `loguru 日志等级`_。
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```conf
|
||||||
.. code-block:: default
|
|
||||||
|
|
||||||
LOG_LEVEL=25
|
LOG_LEVEL=25
|
||||||
LOG_LEVEL=INFO
|
LOG_LEVEL=INFO
|
||||||
|
```
|
||||||
|
|
||||||
.. _loguru 日志等级:
|
.. _loguru 日志等级:
|
||||||
https://loguru.readthedocs.io/en/stable/api/logger.html#levels
|
https://loguru.readthedocs.io/en/stable/api/logger.html#levels
|
||||||
@ -199,11 +198,10 @@ class Config(BaseConfig):
|
|||||||
"""
|
"""
|
||||||
机器人超级用户。
|
机器人超级用户。
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```conf
|
||||||
.. code-block:: default
|
|
||||||
|
|
||||||
SUPERUSERS=["12345789"]
|
SUPERUSERS=["12345789"]
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
nickname: Set[str] = set()
|
nickname: Set[str] = set()
|
||||||
"""
|
"""
|
||||||
@ -221,13 +219,12 @@ class Config(BaseConfig):
|
|||||||
"""
|
"""
|
||||||
等待用户回复的超时时间。
|
等待用户回复的超时时间。
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```conf
|
||||||
.. code-block:: default
|
|
||||||
|
|
||||||
SESSION_EXPIRE_TIMEOUT=120 # 单位: 秒
|
SESSION_EXPIRE_TIMEOUT=120 # 单位: 秒
|
||||||
SESSION_EXPIRE_TIMEOUT=[DD ][HH:MM]SS[.ffffff]
|
SESSION_EXPIRE_TIMEOUT=[DD ][HH:MM]SS[.ffffff]
|
||||||
SESSION_EXPIRE_TIMEOUT=P[DD]DT[HH]H[MM]M[SS]S # ISO 8601
|
SESSION_EXPIRE_TIMEOUT=P[DD]DT[HH]H[MM]M[SS]S # ISO 8601
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# adapter configs
|
# adapter configs
|
||||||
|
@ -85,8 +85,7 @@ class StopPropagation(ProcessException):
|
|||||||
"""
|
"""
|
||||||
指示 NoneBot 终止事件向下层传播。
|
指示 NoneBot 终止事件向下层传播。
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
|
||||||
在 `Matcher.block == True` 时抛出。
|
在 `Matcher.block == True` 时抛出。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -102,8 +101,7 @@ class SkippedException(MatcherException):
|
|||||||
"""
|
"""
|
||||||
指示 NoneBot 立即结束当前 `Handler` 的处理,继续处理下一个 `Handler`。
|
指示 NoneBot 立即结束当前 `Handler` 的处理,继续处理下一个 `Handler`。
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
|
||||||
可以在 `Handler` 中通过 `Matcher.skip()` 抛出。
|
可以在 `Handler` 中通过 `Matcher.skip()` 抛出。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -129,8 +127,7 @@ class PausedException(MatcherException):
|
|||||||
指示 NoneBot 结束当前 `Handler` 并等待下一条消息后继续下一个 `Handler`。
|
指示 NoneBot 结束当前 `Handler` 并等待下一条消息后继续下一个 `Handler`。
|
||||||
可用于用户输入新信息。
|
可用于用户输入新信息。
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
|
||||||
可以在 `Handler` 中通过 `Matcher.pause()` 抛出。
|
可以在 `Handler` 中通过 `Matcher.pause()` 抛出。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -140,8 +137,7 @@ class RejectedException(MatcherException):
|
|||||||
指示 NoneBot 结束当前 `Handler` 并等待下一条消息后重新运行当前 `Handler`。
|
指示 NoneBot 结束当前 `Handler` 并等待下一条消息后重新运行当前 `Handler`。
|
||||||
可用于用户重新输入。
|
可用于用户重新输入。
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
|
||||||
可以在 `Handler` 中通过 `Matcher.reject()` 抛出。
|
可以在 `Handler` 中通过 `Matcher.reject()` 抛出。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -151,8 +147,7 @@ class FinishedException(MatcherException):
|
|||||||
指示 NoneBot 结束当前 `Handler` 且后续 `Handler` 不再被运行。
|
指示 NoneBot 结束当前 `Handler` 且后续 `Handler` 不再被运行。
|
||||||
可用于结束用户会话。
|
可用于结束用户会话。
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
|
||||||
可以在 `Handler` 中通过 `Matcher.finish()` 抛出。
|
可以在 `Handler` 中通过 `Matcher.finish()` 抛出。
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -32,11 +32,10 @@ NoneBot 日志记录器对象。
|
|||||||
* 等级: `INFO` ,根据 `config.log_level` 配置改变
|
* 等级: `INFO` ,根据 `config.log_level` 配置改变
|
||||||
* 输出: 输出至 stdout
|
* 输出: 输出至 stdout
|
||||||
|
|
||||||
:用法:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
from nonebot.log import logger
|
from nonebot.log import logger
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# default_handler = logging.StreamHandler(sys.stdout)
|
# default_handler = logging.StreamHandler(sys.stdout)
|
||||||
|
@ -240,12 +240,11 @@ async def handle_event(bot: "Bot", event: "Event") -> None:
|
|||||||
bot: Bot 对象
|
bot: Bot 对象
|
||||||
event: Event 对象
|
event: Event 对象
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
asyncio.create_task(handle_event(bot, event))
|
asyncio.create_task(handle_event(bot, event))
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
show_log = True
|
show_log = True
|
||||||
log_msg = f"<m>{escape_tag(bot.type.upper())} {escape_tag(bot.self_id)}</m> | "
|
log_msg = f"<m>{escape_tag(bot.type.upper())} {escape_tag(bot.self_id)}</m> | "
|
||||||
|
@ -62,8 +62,8 @@ def Depends(
|
|||||||
dependency: 依赖函数。默认为参数的类型注释。
|
dependency: 依赖函数。默认为参数的类型注释。
|
||||||
use_cache: 是否使用缓存。默认为 `True`。
|
use_cache: 是否使用缓存。默认为 `True`。
|
||||||
|
|
||||||
.. code-block:: python
|
用法:
|
||||||
|
```python
|
||||||
def depend_func() -> Any:
|
def depend_func() -> Any:
|
||||||
return ...
|
return ...
|
||||||
|
|
||||||
@ -75,6 +75,7 @@ def Depends(
|
|||||||
|
|
||||||
async def handler(param_name: Any = Depends(depend_func), gen: Any = Depends(depend_gen_func)):
|
async def handler(param_name: Any = Depends(depend_func), gen: Any = Depends(depend_gen_func)):
|
||||||
...
|
...
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
return DependsInner(dependency, use_cache=use_cache)
|
return DependsInner(dependency, use_cache=use_cache)
|
||||||
|
|
||||||
|
@ -37,14 +37,13 @@ class Permission:
|
|||||||
"""
|
"""
|
||||||
`Matcher` 规则类,当事件传递时,在 `Matcher` 运行前进行检查。
|
`Matcher` 规则类,当事件传递时,在 `Matcher` 运行前进行检查。
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
Permission(async_function) | sync_function
|
Permission(async_function) | sync_function
|
||||||
# 等价于
|
# 等价于
|
||||||
from nonebot.utils import run_sync
|
from nonebot.utils import run_sync
|
||||||
Permission(async_function, run_sync(sync_function))
|
Permission(async_function, run_sync(sync_function))
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__slots__ = ("checkers",)
|
__slots__ = ("checkers",)
|
||||||
|
@ -5,10 +5,8 @@ class Export(dict):
|
|||||||
"""
|
"""
|
||||||
插件导出内容以使得其他插件可以获得。
|
插件导出内容以使得其他插件可以获得。
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
nonebot.export().default = "bar"
|
nonebot.export().default = "bar"
|
||||||
|
|
||||||
@nonebot.export()
|
@nonebot.export()
|
||||||
@ -23,6 +21,7 @@ class Export(dict):
|
|||||||
@nonebot.export().sub
|
@nonebot.export().sub
|
||||||
def something_else():
|
def something_else():
|
||||||
pass
|
pass
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __call__(self, func, **kwargs):
|
def __call__(self, func, **kwargs):
|
||||||
|
@ -65,14 +65,13 @@ class Rule:
|
|||||||
"""
|
"""
|
||||||
`Matcher` 规则类,当事件传递时,在 `Matcher` 运行前进行检查。
|
`Matcher` 规则类,当事件传递时,在 `Matcher` 运行前进行检查。
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
```python
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
Rule(async_function) & sync_function
|
Rule(async_function) & sync_function
|
||||||
# 等价于
|
# 等价于
|
||||||
from nonebot.utils import run_sync
|
from nonebot.utils import run_sync
|
||||||
Rule(async_function, run_sync(sync_function))
|
Rule(async_function, run_sync(sync_function))
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__slots__ = ("checkers",)
|
__slots__ = ("checkers",)
|
||||||
@ -294,8 +293,7 @@ def command(*cmds: Union[str, Tuple[str, ...]]) -> Rule:
|
|||||||
参数:
|
参数:
|
||||||
*cmds: 命令内容
|
*cmds: 命令内容
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
|
||||||
使用默认 `command_start`, `command_sep` 配置
|
使用默认 `command_start`, `command_sep` 配置
|
||||||
|
|
||||||
命令 `("test",)` 可以匹配:`/test` 开头的消息
|
命令 `("test",)` 可以匹配:`/test` 开头的消息
|
||||||
@ -394,18 +392,17 @@ def shell_command(
|
|||||||
*cmds: 命令内容
|
*cmds: 命令内容
|
||||||
parser: `nonebot.rule.ArgumentParser` 对象
|
parser: `nonebot.rule.ArgumentParser` 对象
|
||||||
|
|
||||||
:示例:
|
用法:
|
||||||
|
|
||||||
使用默认 `command_start`, `command_sep` 配置,更多示例参考 `argparse` 标准库文档。
|
使用默认 `command_start`, `command_sep` 配置,更多示例参考 `argparse` 标准库文档。
|
||||||
|
|
||||||
.. code-block:: python
|
```python
|
||||||
|
|
||||||
from nonebot.rule import ArgumentParser
|
from nonebot.rule import ArgumentParser
|
||||||
|
|
||||||
parser = ArgumentParser()
|
parser = ArgumentParser()
|
||||||
parser.add_argument("-a", action="store_true")
|
parser.add_argument("-a", action="store_true")
|
||||||
|
|
||||||
rule = shell_command("ls", parser=parser)
|
rule = shell_command("ls", parser=parser)
|
||||||
|
```
|
||||||
|
|
||||||
\:\:\:tip 提示
|
\:\:\:tip 提示
|
||||||
命令内容与后续消息间无需空格!
|
命令内容与后续消息间无需空格!
|
||||||
|
Loading…
Reference in New Issue
Block a user