nonebot.session
BaseSession(bot, event)
class 说明
基础 session 类,
CommandSession
等均继承自此类。参数
bot
(NoneBot)event
(aiocqhttp.event.Event)
bot
instance-var 类型:
说明: Session 对应的 NoneBot 对象。
用法
await session.bot.send('hello')
1在当前 Session 对应的上下文中发送
hello
。
ctx
1.5.0-
property 类型: aiocqhttp.event.Event
说明: CQHTTP 上报的事件数据对象,或称事件上下文,具体请参考 事件上报 (opens new window)。
用法
user_id = session.ctx['user_id']
1获取当前事件的
user_id
字段。
event
1.5.0+
instance-var 类型:
说明: CQHTTP 上报的事件数据对象,具体请参考
aiocqhttp.Event
(opens new window) 和 事件上报 (opens new window)。用法
user_id = session.event['user_id'] group_id = session.event.group_id
1
2获取当前事件的
user_id
和group_id
字段。
self_id
1.1.0+
property 类型: int
说明
当前 session 对应的 QQ 机器人账号,在多个机器人账号使用同一个 NoneBot 后端时可用于区分当前收到消息或事件的是哪一个机器人。
等价于
session.event.self_id
。用法
await bot.send_private_msg(self_id=session.self_id, user_id=12345678, message='Hello')
1
send(self, message, *, at_sender=False, ensure_private=False, ignore_failure=True, **kwargs)
async method 说明
发送消息到 Session 对应的上下文中。
参数
message
(Message_T): 要发送的消息内容at_sender
(bool): 是否 @ 发送者,对私聊不起作用ensure_private
(bool): 确保消息发送到私聊,对于群组和讨论组消息上下文,会私聊发送者ignore_failure
(bool): 发送失败时忽略CQHttpError
异常**kwargs
: 其它传入CQHttp.send()
的命名参数
返回
- Any 1.1.0+: 返回 CQHTTP 插件发送消息接口的调用返回值,具体见 aiocqhttp 的 API 调用 (opens new window)
异常
CQHttpError
: 发送失败时抛出,实际由 [aiocqhttp] 抛出,等价于aiocqhttp.Error
用法
await session.send('hello')
1在当前 Session 对应的上下文中发送
hello
。