nonebot
为方便使用,nonebot
模块从子模块导入了部分内容:
CQHttpError
-> CQHttpErrorload_plugin
-> load_pluginload_plugins
-> load_pluginsload_builtin_plugins
-> load_builtin_pluginsget_loaded_plugins
1.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_id
1.2.0+ -> context_idSenderRoles
1.9.0+ -> SenderRoles
NoneBot(config_object=None)
class 说明
继承自
aiocqhttp.CQHttp
参数
config_object
(Any | None): 配置对象,类型不限,只要能够通过__getattr__
和__dict__
分别访问到单个和所有配置项即可,若没有传入,则使用默认配置
asgi
other-attr 类型:
Quart
说明:
ASGI 对象,继承自
aiocqhttp.CQHttp
,目前等价于server_app
。
server_app
other-attr 类型:
Quart
说明:
内部的 Quart 对象,继承自
aiocqhttp.CQHttp
。
__getattr__
other-attr 说明:
获取用于 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
config
instance-var 类型:
说明: 配置对象
run(self, host=None, port=None, *args, **kwargs)
method 说明
运行 NoneBot。
不建议直接运行 NoneBot 对象,而应该使用全局的
run()
函数。参数
host
(str | None): 主机名/IPport
(int | None): 端口*args
: 其它传入CQHttp.run()
的位置参数**kwargs
: 其它传入CQHttp.run()
的命名参数
返回
- None
init(config_object=None, start_scheduler=True)
def 说明
初始化全局 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 对象。
get_bot()
def 说明
获取全局 NoneBot 对象。可用于在计划任务的回调中获取当前 NoneBot 对象。
返回
- NoneBot: 全局 NoneBot 对象
异常
ValueError
: 全局 NoneBot 对象尚未初始化
用法
bot = nonebot.get_bot()
1
run(host=None, port=None, *args, **kwargs)
def 说明
运行全局 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 对象。
on_startup(func)
1.5.0+
def 说明
将函数装饰为 NoneBot 启动时的回调函数。
参数
func
(() -> Awaitable[NoneType])
返回
- () -> Awaitable[NoneType]
用法
@on_startup async def startup() await db.init()
1
2
3注册启动时回调,初始化数据库。
on_websocket_connect(func)
1.5.0+
def 说明
将函数装饰为 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 连接时回调,获取群列表。