# NoneBot.adapters.cqhttp 模块

# CQHTTP (OneBot) v11 协议适配

协议详情请看: CQHTTP (opens new window) | OneBot (opens new window)

# NoneBot.adapters.cqhttp.config 模块

# class Config

CQHTTP 配置类

  • 配置项

    • access_token / cqhttp_access_token: CQHTTP 协议授权令牌

    • secret / cqhttp_secret: CQHTTP HTTP 上报数据签名口令

    • ws_urls / cqhttp_ws_urls: CQHTTP 正向 Websocket 连接 Bot ID、目标 URL 字典

# NoneBot.adapters.cqhttp.utils 模块

# escape(s, *, escape_comma=True)

  • 说明

    对字符串进行 CQ 码转义。

  • 参数

    • s: str: 需要转义的字符串

    • escape_comma: bool: 是否转义逗号(,)。

# unescape(s)

  • 说明

    对字符串进行 CQ 码去转义。

  • 参数

    • s: str: 需要转义的字符串

# NoneBot.adapters.cqhttp.exception 模块

# exception ActionFailed

基类:nonebot.exception.ActionFailed, nonebot.adapters.cqhttp.exception.CQHTTPAdapterException

  • 说明

    API 请求返回错误信息。

  • 参数

    • retcode: Optional[int]: 错误码

# exception NetworkError

基类:nonebot.exception.NetworkError, nonebot.adapters.cqhttp.exception.CQHTTPAdapterException

  • 说明

    网络错误。

  • 参数

    • retcode: Optional[int]: 错误码

# NoneBot.adapters.cqhttp.bot 模块

# async _check_reply(bot, event)

  • 说明

    检查消息中存在的回复,去除并赋值 event.reply, event.to_me

  • 参数

    • bot: Bot: Bot 对象

    • event: Event: Event 对象

# _check_at_me(bot, event)

  • 说明

    检查消息开头或结尾是否存在 @机器人,去除并赋值 event.to_me

  • 参数

    • bot: Bot: Bot 对象

    • event: Event: Event 对象

# _check_nickname(bot, event)

  • 说明

    检查消息开头是否存在昵称,去除并赋值 event.to_me

  • 参数

    • bot: Bot: Bot 对象

    • event: Event: Event 对象

# _handle_api_result(result)

  • 说明

    处理 API 请求返回值。

  • 参数

    • result: Optional[Dict[str, Any]]: API 返回数据
  • 返回

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

    • ActionFailed: API 调用失败

# class Bot

基类:nonebot.adapters._bot.Bot

CQHTTP 协议 Bot 适配。继承属性参考 BaseBot

# property type

  • 返回: "cqhttp"

# async classmethod check_permission(driver, request)

# async handle_message(message)

# async call_api(api, **data)

  • 说明

    调用 CQHTTP 协议 API

  • 参数

    • api: str: API 名称

    • **data: Any: API 参数

  • 返回

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

    • NetworkError: 网络错误

    • ActionFailed: API 调用失败

# async send(event, message, at_sender=False, **kwargs)

  • 说明

    根据 event 向触发事件的主体发送消息。

  • 参数

    • event: Event: Event 对象

    • message: Union[str, Message, MessageSegment]: 要发送的消息

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

    • **kwargs: 覆盖默认参数

  • 返回

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

    • ValueError: 缺少 user_id, group_id

    • NetworkError: 网络错误

    • ActionFailed: API 调用失败

# NoneBot.adapters.cqhttp.message 模块

# class MessageSegment

基类:nonebot.adapters._message.MessageSegment[Message]

CQHTTP 协议 MessageSegment 适配。具体方法参考协议消息段类型或源码。

# classmethod get_message_class()

# is_text()

# static anonymous(ignore_failure=None)

# static at(user_id)

# static contact(type_, id)

# static contact_group(group_id)

# static contact_user(user_id)

# static dice()

# static face(id_)

# static forward(id_)

# static image(file, type_=None, cache=True, proxy=True, timeout=None)

# static json(data)

# static location(latitude, longitude, title=None, content=None)

# static music(type_, id_)

# static music_custom(url, audio, title, content=None, img_url=None)

# static node(id_)

# static node_custom(user_id, nickname, content)

# static poke(type_, id_)

# static record(file, magic=None, cache=None, proxy=None, timeout=None)

# static reply(id_)

# static rps()

# static shake()

# static share(url='', title='', content=None, image=None)

# static text(text)

# static video(file, cache=None, proxy=None, timeout=None)

# static xml(data)

# type

  • 类型: str

  • 说明: 消息段类型

# data

  • 类型: Dict[str, Union[str, list]]

  • 说明: 消息段数据

# class Message

基类:nonebot.adapters._message.Message[nonebot.adapters.cqhttp.message.MessageSegment]

CQHTTP 协议 Message 适配。

# classmethod get_segment_class()

# extract_plain_text()

# NoneBot.adapters.cqhttp.permission 模块

# PRIVATE

  • 说明: 匹配任意私聊消息类型事件

# PRIVATE_FRIEND

  • 说明: 匹配任意好友私聊消息类型事件

# PRIVATE_GROUP

  • 说明: 匹配任意群临时私聊消息类型事件

# PRIVATE_OTHER

  • 说明: 匹配任意其他私聊消息类型事件

# GROUP

  • 说明: 匹配任意群聊消息类型事件

# GROUP_MEMBER

  • 说明: 匹配任意群员群聊消息类型事件

警告

该权限通过 event.sender 进行判断且不包含管理员以及群主!

# GROUP_ADMIN

  • 说明: 匹配任意群管理员群聊消息类型事件

# GROUP_OWNER

  • 说明: 匹配任意群主群聊消息类型事件

# NoneBot.adapters.cqhttp.event 模块

# class Event

基类:nonebot.adapters._event.Event

CQHTTP 协议事件,字段与 CQHTTP 一致。各事件字段参考 CQHTTP 文档 (opens new window)

# class MessageEvent

基类:nonebot.adapters.cqhttp.event.Event

消息事件

# to_me

  • 说明

    消息是否与机器人有关

  • 类型

    bool

# reply

  • 说明

    消息中提取的回复消息,内容为 get_msg API 返回结果

  • 类型

    Optional[Reply]

# class PrivateMessageEvent

基类:nonebot.adapters.cqhttp.event.MessageEvent

私聊消息

# class GroupMessageEvent

基类:nonebot.adapters.cqhttp.event.MessageEvent

群消息

# class NoticeEvent

基类:nonebot.adapters.cqhttp.event.Event

通知事件

# class GroupUploadNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

群文件上传事件

# class GroupAdminNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

群管理员变动

# class GroupDecreaseNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

群成员减少事件

# class GroupIncreaseNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

群成员增加事件

# class GroupBanNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

群禁言事件

# class FriendAddNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

好友添加事件

# class GroupRecallNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

群消息撤回事件

# class FriendRecallNoticeEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

好友消息撤回事件

# class NotifyEvent

基类:nonebot.adapters.cqhttp.event.NoticeEvent

提醒事件

# class PokeNotifyEvent

基类:nonebot.adapters.cqhttp.event.NotifyEvent

戳一戳提醒事件

# class LuckyKingNotifyEvent

基类:nonebot.adapters.cqhttp.event.NotifyEvent

群红包运气王提醒事件

# class HonorNotifyEvent

基类:nonebot.adapters.cqhttp.event.NotifyEvent

群荣誉变更提醒事件

# class RequestEvent

基类:nonebot.adapters.cqhttp.event.Event

请求事件

# class FriendRequestEvent

基类:nonebot.adapters.cqhttp.event.RequestEvent

加好友请求事件

# class GroupRequestEvent

基类:nonebot.adapters.cqhttp.event.RequestEvent

加群请求/邀请事件

# class MetaEvent

基类:nonebot.adapters.cqhttp.event.Event

元事件

# class LifecycleMetaEvent

基类:nonebot.adapters.cqhttp.event.MetaEvent

生命周期元事件

# class HeartbeatMetaEvent

基类:nonebot.adapters.cqhttp.event.MetaEvent

心跳元事件

# get_event_model(event_name)

  • 说明

    根据事件名获取对应 Event ModelFallBack Event Model 列表

  • 返回

    • List[Type[Event]]