nonebot

为方便使用,nonebot 模块从子模块导入了部分内容:

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)

  • 参数:

  • 返回:

    • (*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): 主机名/IP

    • port (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 连接时回调,获取群列表。