nonebot
为方便使用,nonebot 模块从子模块导入了部分内容:
CQHttpError-> CQHttpErrorload_plugin-> load_pluginload_plugins-> load_pluginsload_builtin_plugins-> load_builtin_pluginsget_loaded_plugins1.1.0+ -> get_loaded_pluginson_command-> on_commandon_natural_language-> on_natural_languageon_notice-> on_noticeon_request-> on_requestmessage_preprocessor-> message_preprocessorMessage-> MessageMessageSegment-> MessageSegmentCommandSession-> CommandSessionCommandGroup-> CommandGroupNLPSession-> NLPSessionNoticeSession-> NoticeSessionRequestSession-> RequestSessioncontext_id1.2.0+ -> context_idSenderRoles1.9.0+ -> SenderRoles
class NoneBot(config_object=None)
说明
继承自
aiocqhttp.CQHttp参数
config_object(Any | None): 配置对象,类型不限,只要能够通过__getattr__和__dict__分别访问到单个和所有配置项即可,若没有传入,则使用默认配置
other-attr asgi
类型:
Quart说明:
ASGI 对象,继承自
aiocqhttp.CQHttp,目前等价于server_app。
other-attr server_app
类型:
Quart说明:
内部的 Quart 对象,继承自
aiocqhttp.CQHttp。
other-attr __getattr__
说明:
获取用于 API 调用的
Callable对象。对返回结果进行函数调用会调用 CQHTTP 的相应 API,请注意捕获
CQHttpError异常,具体请参考 aiocqhttp 的 API 调用 (opens new window)。参数:
item: str: 要调用的 API 动作名,请参考 CQHTTP 插件文档的 API 列表 (opens new window)
返回:
(*Any, **Any) -> Any: 用于 API 调用的Callable对象
用法:
bot = nonebot.get_bot() try: info = await bot.get_group_member_info(group_id=1234567, user_id=12345678) except CQHttpError as e: logger.exception(e)1
2
3
4
5
instance-var config
类型:
说明: 配置对象
method run(self, host=None, port=None, *args, **kwargs)
说明
运行 NoneBot。
不建议直接运行 NoneBot 对象,而应该使用全局的
run()函数。参数
host(str | None): 主机名/IPport(int | None): 端口*args: 其它传入CQHttp.run()的位置参数**kwargs: 其它传入CQHttp.run()的命名参数
返回
- None
def init(config_object=None, start_scheduler=True)
说明
初始化全局 NoneBot 对象。
参数
config_object(Any | None): 配置对象,类型不限,只要能够通过__getattr__和__dict__分别访问到单个和所有配置项即可,若没有传入,则使用默认配置start_scheduler(bool) 1.7.0+: 是否要启动nonebot.scheduler
返回
- None
用法
import config nonebot.init(config)1
2导入
config模块并初始化全局 NoneBot 对象。
def get_bot()
说明
获取全局 NoneBot 对象。可用于在计划任务的回调中获取当前 NoneBot 对象。
返回
- NoneBot: 全局 NoneBot 对象
异常
ValueError: 全局 NoneBot 对象尚未初始化
用法
bot = nonebot.get_bot()1
def run(host=None, port=None, *args, **kwargs)
说明
运行全局 NoneBot 对象。
参数
host(str | None): 主机名/IP,若不传入则使用配置文件中指定的值port(int | None): 端口,若不传入则使用配置文件中指定的值*args: 其它传入CQHttp.run()的位置参数**kwargs: 其它传入CQHttp.run()的命名参数
返回
- None
用法
nonebot.run(host='127.0.0.1', port=8080)1在
127.0.0.1:8080运行全局 NoneBot 对象。
def on_startup(func) 1.5.0+
说明
将函数装饰为 NoneBot 启动时的回调函数。
参数
func(() -> Awaitable[NoneType])
返回
- () -> Awaitable[NoneType]
用法
@on_startup async def startup() await db.init()1
2
3注册启动时回调,初始化数据库。
def on_websocket_connect(func) 1.5.0+
说明
将函数装饰为 CQHTTP 反向 WebSocket 连接建立时的回调函数。
该装饰器等价于
@bot.on_meta_event('lifecycle.connect')。参数
func((aiocqhttp.event.Event) -> Awaitable[NoneType])
返回
- () -> Awaitable[NoneType]
用法
@on_websocket_connect async def connect(event: aiocqhttp.Event): bot = nonebot.get_bot() groups = await bot.get_group_list()1
2
3
4注册 WebSocket 连接时回调,获取群列表。