mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-09-15 00:16:40 +00:00
Rename package to "nonebot"
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
# 类 Shell 的参数解析
|
||||
|
||||
`none.argparse` 模块主要继承自 Python 内置的同名模块(`argparse`),用于解析命令的参数。在需要编写类 shell 语法的命令的时候,使用此模块可以大大提高开发效率。
|
||||
`nonebot.argparse` 模块主要继承自 Python 内置的同名模块(`argparse`),用于解析命令的参数。在需要编写类 shell 语法的命令的时候,使用此模块可以大大提高开发效率。
|
||||
|
||||
「类 shell 语法」指的是形如 `some-command --verbose -n 3 --name=some-name argument1 argument2` 的类似于 shell 命令的语法。
|
||||
|
||||
@ -101,6 +101,6 @@ COMMAND:
|
||||
|
||||
`on_command` 的 `shell_like=True` 参数告诉 NoneBot 这个命令需要使用类 shell 语法,NoneBot 会自动添加命令参数解析器来使用 Python 内置的 `shlex` 包分割参数。分割后的参数被放在 `session.args['argv']`,可通过 `session.argv` 属性来快速获得。
|
||||
|
||||
命令处理函数中,使用 `none.argparse` 模块包装后的 `ArgumentParser` 类来解析参数,具体 `ArgumentParser` 添加参数的方法,请参考 [`argparse`](https://docs.python.org/3/library/argparse.html)。在使用 `add_argument()` 方法添加需要解析的参数后,使用 `parse_args()` 方法最终将 `argv` 解析为 `argparse.Namespace` 对象。
|
||||
命令处理函数中,使用 `nonebot.argparse` 模块包装后的 `ArgumentParser` 类来解析参数,具体 `ArgumentParser` 添加参数的方法,请参考 [`argparse`](https://docs.python.org/3/library/argparse.html)。在使用 `add_argument()` 方法添加需要解析的参数后,使用 `parse_args()` 方法最终将 `argv` 解析为 `argparse.Namespace` 对象。
|
||||
|
||||
特别地,`parse_args()` 方法如果遇到需要打印帮助或报错并退出程序的情况(具体可以通过使用 Python 内置的 `argparse.ArgumentParser` 来体验),行为会更改为发送消息给当前 session 对应的上下文。注意到,`ArgumentParser` 类初始化时传入了 `session` 和 `usage` 参数,分别用于发送消息和使用帮助的内容。
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
NoneBot 所基于的 python-aiocqhttp 库使用的 web 框架是 Quart,因此 NoneBot 的部署方法和 Quart 一致([Deploying Quart](https://pgjones.gitlab.io/quart/deployment.html))。
|
||||
|
||||
Quart 官方建议使用 Hypercorn 来部署,这需要一个 ASGI app 对象,在 NoneBot 中,可使用 `none.get_bot().asgi` 获得 ASGI app 对象。
|
||||
Quart 官方建议使用 Hypercorn 来部署,这需要一个 ASGI app 对象,在 NoneBot 中,可使用 `nonebot.get_bot().asgi` 获得 ASGI app 对象。
|
||||
|
||||
具体地,通常在项目根目录下创建一个 `run.py` 文件如下:
|
||||
|
||||
@ -10,12 +10,12 @@ Quart 官方建议使用 Hypercorn 来部署,这需要一个 ASGI app 对象
|
||||
import os
|
||||
import sys
|
||||
|
||||
import none
|
||||
import nonebot
|
||||
|
||||
import config
|
||||
|
||||
none.init(config)
|
||||
bot = none.get_bot()
|
||||
nonebot.init(config)
|
||||
bot = nonebot.get_bot()
|
||||
app = bot.asgi
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -1,23 +1,23 @@
|
||||
# 日志
|
||||
|
||||
`none.log` 模块提供了一个 `logger` 对象,可用于日志。
|
||||
`nonebot.log` 模块提供了一个 `logger` 对象,可用于日志。
|
||||
|
||||
使用 `none.init()` 配置 NoneBot 时,`logger` 对象的日志级别会随 `DEBUG` 配置项的不同而不同,如果 `DEBUG` 为 `True`,则日志级别为 `DEBUG`,否则为 `INFO`。你也可以在 `none.init()` 调用之后自行设置 `logger` 的日志级别。
|
||||
使用 `nonebot.init()` 配置 NoneBot 时,`logger` 对象的日志级别会随 `DEBUG` 配置项的不同而不同,如果 `DEBUG` 为 `True`,则日志级别为 `DEBUG`,否则为 `INFO`。你也可以在 `nonebot.init()` 调用之后自行设置 `logger` 的日志级别。
|
||||
|
||||
举例:
|
||||
|
||||
```python
|
||||
import logging
|
||||
|
||||
import none
|
||||
from none.log import logger
|
||||
import nonebot
|
||||
from nonebot.log import logger
|
||||
|
||||
import config
|
||||
|
||||
|
||||
none.init(config)
|
||||
nonebot.init(config)
|
||||
# logger.setLevel(logging.WARNING)
|
||||
|
||||
logger.info('Starting')
|
||||
none.run()
|
||||
nonebot.run()
|
||||
```
|
||||
|
Reference in New Issue
Block a user