nonebot.session

class BaseSession(bot, event)

  • 说明

    基础 session 类,CommandSession 等均继承自此类。

  • 参数

    • bot (NoneBot)

    • event (aiocqhttp.event.Event)

instance-var bot

  • 类型:

  • 说明: Session 对应的 NoneBot 对象。

  • 用法

    await session.bot.send('hello')
    
    1

    在当前 Session 对应的上下文中发送 hello

property ctx 1.5.0-

  • 类型: aiocqhttp.event.Event

  • 说明: CQHTTP 上报的事件数据对象,或称事件上下文,具体请参考 事件上报 (opens new window)

  • 用法

    user_id = session.ctx['user_id']
    
    1

    获取当前事件的 user_id 字段。

instance-var event 1.5.0+

property self_id 1.1.0+

  • 类型: int

  • 说明

    当前 session 对应的 QQ 机器人账号,在多个机器人账号使用同一个 NoneBot 后端时可用于区分当前收到消息或事件的是哪一个机器人。

    等价于 session.event.self_id

  • 用法

    await bot.send_private_msg(self_id=session.self_id, user_id=12345678, message='Hello')
    
    1

async method send(self, message, *, at_sender=False, ensure_private=False, ignore_failure=True, **kwargs)

  • 说明

    发送消息到 Session 对应的上下文中。

  • 参数

    • message (Message_T): 要发送的消息内容

    • at_sender (bool): 是否 @ 发送者,对私聊不起作用

    • ensure_private (bool): 确保消息发送到私聊,对于群组和讨论组消息上下文,会私聊发送者

    • ignore_failure (bool): 发送失败时忽略 CQHttpError 异常

    • **kwargs: 其它传入 CQHttp.send() 的命名参数

  • 返回

  • 异常

    • CQHttpError: 发送失败时抛出,实际由 [aiocqhttp] 抛出,等价于 aiocqhttp.Error
  • 用法

    await session.send('hello')
    
    1

    在当前 Session 对应的上下文中发送 hello