nonebot.adapters.onebot.v11.bot
OneBot v11 机器人定义。
async def send(bot, event, message, at_sender=..., reply_message=..., **kwargs)
说明: 默认回复消息处理函数。
参数
bot
(Bot)event
(Event)message
(str | Message | MessageSegment)at_sender
(bool)reply_message
(bool)**kwargs
(Any)
返回
- 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)
说明: 处理收到的事件。
参数
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): 消息类型,支持private
、group
, 分别对应私聊、群组、讨论组,如不传入,则根据传入的*_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):add
或invite
, 请求类型(需要和上报消息中的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): 要转换到的格式, 目前支持mp3
、amr
、wma
、m4a
、spx
、ogg
、wav
、flac
返回
- 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