nonebot.adapters.onebot.v11.bot

OneBot v11 机器人定义。

async def send(bot, event, message, at_sender=..., reply_message=..., **kwargs)

  • 说明: 默认回复消息处理函数。

  • 参数

  • 返回

    • Any

class Bot(<auto>)

  • 参数

    auto

async method call_api(api, **data)

  • 说明: 调用 OneBot 协议 API。

  • 参数

    • api (str): API 名称

    • **data: API 参数

  • 返回

    • Any: API 调用返回数据
  • 异常

    • nonebot.adapters.onebot.exception.NetworkError: 网络错误

    • nonebot.adapters.onebot.exception.ActionFailed: API 调用失败

async method handle_event(event)

  • 说明: 处理收到的事件。

  • 参数

  • 返回

    • None

async method send(event, message, **kwargs)

  • 说明: 根据 event 向触发事件的主体回复消息。

  • 参数

    • event (Event): Event 对象

    • message (str | Message | MessageSegment): 要发送的消息

    • at_sender (bool): 是否 @ 事件主体

    • reply_message (bool): 是否回复事件消息

    • **kwargs (Any): 其他参数,可以与 Adapter.custom_send 配合使用

  • 返回

    • Any: API 调用返回数据
  • 异常

    • ValueError: 缺少 user_id, group_id

    • NetworkError: 网络错误

    • ActionFailed: API 调用失败

async method send_private_msg(*, user_id, message, auto_escape=...)

  • 说明: 发送私聊消息。

  • 参数

    • user_id (int): 对方 QQ 号

    • message (str | Message): 要发送的内容

    • auto_escape (bool): 消息内容是否作为纯文本发送(即不解析 CQ 码), 只在 message 字段是字符串时有效

  • 返回

    • dict[str, Any]

async method send_group_msg(*, group_id, message, auto_escape=...)

  • 说明: 发送群消息。

  • 参数

    • group_id (int): 群号

    • message (str | Message): 要发送的内容

    • auto_escape (bool): 消息内容是否作为纯文本发送(即不解析 CQ 码), 只在 message 字段是字符串时有效

  • 返回

    • dict[str, Any]

async method send_msg(*, message_type=..., user_id=..., group_id=..., message, auto_escape=...)

  • 说明: 发送消息。

  • 参数

    • message_type (str | None): 消息类型,支持 privategroup, 分别对应私聊、群组、讨论组,如不传入,则根据传入的 *_id 参数判断

    • user_id (int | None): 对方 QQ 号(消息类型为 private 时需要)

    • group_id (int | None): 群号(消息类型为 group 时需要)

    • message (str | Message): 要发送的内容

    • auto_escape (bool): 消息内容是否作为纯文本发送(即不解析 CQ 码), 只在 message 字段是字符串时有效

  • 返回

    • dict[str, Any]

async method delete_msg(*, message_id)

  • 说明: 撤回消息。

  • 参数

    • message_id (int): 消息 ID
  • 返回

    • None

async method get_msg(*, message_id)

  • 说明: 获取消息。

  • 参数

    • message_id (int): 消息 ID
  • 返回

    • dict[str, Any]

async method get_forward_msg(*, id)

  • 说明: 获取合并转发消息。

  • 参数

    • id (str): 合并转发 ID
  • 返回

    • dict[str, Any]

async method send_like(*, user_id, times=...)

  • 说明: 发送好友赞。

  • 参数

    • user_id (int): 对方 QQ 号

    • times (int): 赞的次数,每个好友每天最多 10 次

  • 返回

    • None

async method set_group_kick(*, group_id, user_id, reject_add_request=...)

  • 说明: 群组踢人。

  • 参数

    • group_id (int): 群号

    • user_id (int): 要踢的 QQ 号

    • reject_add_request (bool): 拒绝此人的加群请求

  • 返回

    • None

async method set_group_ban(*, group_id, user_id, duration=...)

  • 说明: 群组单人禁言。

  • 参数

    • group_id (int): 群号

    • user_id (int): 要禁言的 QQ 号

    • duration (int): 禁言时长,单位秒,0 表示取消禁言

  • 返回

    • None

async method set_group_anonymous_ban(*, group_id, anonymous=..., anonymous_flag=..., duration=...)

  • 说明: 群组匿名用户禁言。

  • 参数

    • group_id (int): 群号

    • anonymous (dict[str, Any] | None): 可选,要禁言的匿名用户对象(群消息上报的 anonymous 字段)

    • anonymous_flag (str | None): 可选,要禁言的匿名用户的 flag(需从群消息上报的数据中获得)

    • duration (int): 禁言时长,单位秒,无法取消匿名用户禁言

  • 返回

    • None

async method set_group_whole_ban(*, group_id, enable=...)

  • 说明: 群组全员禁言。

  • 参数

    • group_id (int): 群号

    • enable (bool): 是否禁言

  • 返回

    • None

async method set_group_admin(*, group_id, user_id, enable=...)

  • 说明: 群组设置管理员。

  • 参数

    • group_id (int): 群号

    • user_id (int): 要设置管理员的 QQ 号

    • enable (bool): True 为设置,False 为取消

  • 返回

    • None

async method set_group_anonymous(*, group_id, enable=...)

  • 说明: 群组匿名。

  • 参数

    • group_id (int): 群号

    • enable (bool): 是否允许匿名聊天

  • 返回

    • None

async method set_group_card(*, group_id, user_id, card=...)

  • 说明: 设置群名片(群备注)。

  • 参数

    • group_id (int): 群号

    • user_id (int): 要设置的 QQ 号

    • card (str): 群名片内容,不填或空字符串表示删除群名片

  • 返回

    • None

async method set_group_name(*, group_id, group_name)

  • 说明: 设置群名。

  • 参数

    • group_id (int): 群号

    • group_name (str): 新群名

  • 返回

    • None

async method set_group_leave(*, group_id, is_dismiss=...)

  • 说明: 退出群组。

  • 参数

    • group_id (int): 群号

    • is_dismiss (bool): 是否解散,如果登录号是群主,则仅在此项为 True 时能够解散

  • 返回

    • None

async method set_group_special_title(*, group_id, user_id, special_title=..., duration=...)

  • 说明: 设置群组专属头衔。

  • 参数

    • group_id (int): 群号

    • user_id (int): 要设置的 QQ 号

    • special_title (str): 专属头衔,不填或空字符串表示删除专属头衔

    • duration (int): 专属头衔有效期,单位秒,-1 表示永久

  • 返回

    • None

async method set_friend_add_request(*, flag, approve=..., remark=...)

  • 说明: 处理加好友请求。

  • 参数

    • flag (str): 加好友请求的 flag(需从上报的数据中获得)

    • approve (bool): 是否同意请求

    • remark (str): 添加后的好友备注(仅在同意时有效)

  • 返回

    • None

async method set_group_add_request(*, flag, sub_type, approve=..., reason=...)

  • 说明: 处理加群请求/邀请。

  • 参数

    • flag (str): 加群请求的 flag(需从上报的数据中获得)

    • sub_type (str): addinvite, 请求类型(需要和上报消息中的 sub_type 字段相符)

    • approve (bool): 是否同意请求/邀请

    • reason (str): 拒绝理由(仅在拒绝时有效)

  • 返回

    • None

async method get_login_info()

  • 说明: 获取登录号信息。

  • 参数

    empty

  • 返回

    • dict[str, Any]

async method get_stranger_info(*, user_id, no_cache=...)

  • 说明: 获取陌生人信息。

  • 参数

    • user_id (int): QQ 号

    • no_cache (bool): 是否不使用缓存(使用缓存可能更新不及时,但响应更快)

  • 返回

    • dict[str, Any]

async method get_friend_list()

  • 说明: 获取好友列表。

  • 参数

    empty

  • 返回

    • list[dict[str, Any]]

async method get_group_info(*, group_id, no_cache=...)

  • 说明: 获取群信息。

  • 参数

    • group_id (int): 群号

    • no_cache (bool): 是否不使用缓存(使用缓存可能更新不及时,但响应更快)

  • 返回

    • dict[str, Any]

async method get_group_list()

  • 说明: 获取群列表。

  • 参数

    empty

  • 返回

    • list[dict[str, Any]]

async method get_group_member_info(*, group_id, user_id, no_cache=...)

  • 说明: 获取群成员信息。

  • 参数

    • group_id (int): 群号

    • user_id (int): QQ 号

    • no_cache (bool): 是否不使用缓存(使用缓存可能更新不及时,但响应更快)

  • 返回

    • dict[str, Any]

async method get_group_member_list(*, group_id)

  • 说明: 获取群成员列表。

  • 参数

    • group_id (int): 群号
  • 返回

    • list[dict[str, Any]]

async method get_group_honor_info(*, group_id, type=...)

  • 说明: 获取群荣誉信息。

  • 参数

    • group_id (int): 群号

    • type (str): 要获取的群荣誉类型, 可传入 talkative performer legend strong_newbie emotion 以分别获取单个类型的群荣誉数据,或传入 all 获取所有数据

  • 返回

    • dict[str, Any]

async method get_cookies(*, domain=...)

  • 说明: 获取 Cookies。

  • 参数

    • domain (str): 需要获取 cookies 的域名
  • 返回

    • dict[str, Any]

async method get_csrf_token()

  • 说明: 获取 CSRF Token。

  • 参数

    empty

  • 返回

    • dict[str, Any]

async method get_credentials(*, domain=...)

  • 说明: 获取 QQ 相关接口凭证。

  • 参数

    • domain (str): 需要获取 cookies 的域名
  • 返回

    • dict[str, Any]

async method get_record(*, file, out_format)

  • 说明: 获取语音。

  • 参数

    • file (str): 收到的语音文件名(CQ 码的 file 参数), 如 0B38145AA44505000B38145AA4450500.silk

    • out_format (str): 要转换到的格式, 目前支持 mp3amrwmam4aspxoggwavflac

  • 返回

    • dict[str, Any]

async method get_image(*, file)

  • 说明: 获取图片。

  • 参数

    • file (str): 收到的图片文件名(CQ 码的 file 参数), 如 6B4DE3DFD1BD271E3297859D41C530F5.jpg
  • 返回

    • dict[str, Any]

async method can_send_image()

  • 说明: 检查是否可以发送图片。

  • 参数

    empty

  • 返回

    • dict[str, Any]

async method can_send_record()

  • 说明: 检查是否可以发送语音。

  • 参数

    empty

  • 返回

    • dict[str, Any]

async method get_status()

  • 说明: 获取插件运行状态。

  • 参数

    empty

  • 返回

    • dict[str, Any]

async method get_version_info()

  • 说明: 获取版本信息。

  • 参数

    empty

  • 返回

    • dict[str, Any]

async method set_restart(*, delay=...)

  • 说明: 重启 OneBot 实现。

  • 参数

    • delay (int): 要延迟的毫秒数,如果默认情况下无法重启,可以尝试设置延迟为 2000 左右
  • 返回

    • None

async method clean_cache()

  • 说明: 清理数据目录。

  • 参数

    empty

  • 返回

    • None