nonebot2/docs/api/adapters/cqhttp.md
2020-12-19 15:31:14 +08:00

11 KiB

contentSidebar sidebarDepth
true 0

NoneBot.adapters.cqhttp 模块

escape(s, *, escape_comma=True)

  • 说明

    对字符串进行 CQ 码转义。

  • 参数

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

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

unescape(s)

  • 说明

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

  • 参数

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

exception CQHTTPAdapterException

基类:nonebot.exception.AdapterException

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]: 错误码

exception ApiNotAvailable

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

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

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

property type

  • 返回: "cqhttp"

async classmethod check_permission(driver, connection_type, headers, body)

  • 说明

    CQHTTP (OneBot) 协议鉴权。参考 鉴权

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 调用失败

class MessageSegment

基类:nonebot.adapters.MessageSegment

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

class Message

基类:nonebot.adapters.Message

CQHTTP 协议 Message 适配。

class Event

基类:nonebot.adapters.Event

CQHTTP 协议事件。各事件字段未列出部分参考 CQHTTP 文档

get_type()

  • 说明

    获取事件类型的方法,类型通常为 NoneBot 内置的四种类型。

  • 返回

    • Literal["message", "notice", "request", "meta_event"]

get_event_name()

  • 说明

    获取事件名称的方法。

  • 返回

    • str

get_event_description()

  • 说明

    获取事件描述的方法,通常为事件具体内容。

  • 返回

    • str

get_message()

  • 说明

    获取事件消息内容的方法。

  • 返回

    • Message

get_plaintext()

  • 说明

    获取消息纯文本的方法,通常不需要修改,默认通过 get_message().extract_plain_text 获取。

  • 返回

    • str

get_user_id()

  • 说明

    获取事件主体 id 的方法,通常是用户 id 。

  • 返回

    • str

get_session_id()

  • 说明

    获取会话 id 的方法,用于判断当前事件属于哪一个会话,通常是用户 id、群组 id 组合。

  • 返回

    • str

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class MessageEvent

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

消息事件

to_me

  • 说明

    消息是否与机器人有关

  • 类型

    bool

reply

  • 说明

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

  • 类型

    Optional[Reply]

get_event_name()

  • 说明

    获取事件名称的方法。

  • 返回

    • str

get_message()

  • 说明

    获取事件消息内容的方法。

  • 返回

    • Message

get_plaintext()

  • 说明

    获取消息纯文本的方法,通常不需要修改,默认通过 get_message().extract_plain_text 获取。

  • 返回

    • str

get_user_id()

  • 说明

    获取事件主体 id 的方法,通常是用户 id 。

  • 返回

    • str

get_session_id()

  • 说明

    获取会话 id 的方法,用于判断当前事件属于哪一个会话,通常是用户 id、群组 id 组合。

  • 返回

    • str

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class PrivateMessageEvent

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

私聊消息

get_event_description()

  • 说明

    获取事件描述的方法,通常为事件具体内容。

  • 返回

    • str

class GroupMessageEvent

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

群消息

get_event_description()

  • 说明

    获取事件描述的方法,通常为事件具体内容。

  • 返回

    • str

class NoticeEvent

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

通知事件

get_event_name()

  • 说明

    获取事件名称的方法。

  • 返回

    • str

class GroupUploadNoticeEvent

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

群文件上传事件

class GroupAdminNoticeEvent

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

群管理员变动

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class GroupDecreaseNoticeEvent

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

群成员减少事件

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class GroupIncreaseNoticeEvent

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

群成员增加事件

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class GroupBanNoticeEvent

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

群禁言事件

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class FriendAddNoticeEvent

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

好友添加事件

class GroupRecallNoticeEvent

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

群消息撤回事件

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class FriendRecallNoticeEvent

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

好友消息撤回事件

class NotifyEvent

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

提醒事件

class PokeNotifyEvent

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

戳一戳提醒事件

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class LuckyKingNotifyEvent

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

群红包运气王提醒事件

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class HonorNotifyEvent

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

群荣誉变更提醒事件

is_tome()

  • 说明

    获取事件是否与机器人有关的方法。

  • 返回

    • bool

class RequestEvent

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

请求事件

get_event_name()

  • 说明

    获取事件名称的方法。

  • 返回

    • str

class FriendRequestEvent

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

加好友请求事件

class GroupRequestEvent

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

加群请求/邀请事件

class MetaEvent

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

元事件

get_event_name()

  • 说明

    获取事件名称的方法。

  • 返回

    • str

get_log_string()

  • 说明

    获取事件日志信息的方法,通常你不需要修改这个方法,只有当希望 NoneBot 隐藏该事件日志时,可以抛出 NoLogException 异常。

  • 返回

    • str
  • 异常

    • NoLogException

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]]