nonebot.adapters.onebot.v12.bot

OneBot v12 机器人定义。

class Event(<auto>)

  • 参数

    auto

class BotSelf(<auto>)

  • 参数

    auto

class BotStatus(<auto>)

  • 参数

    auto

class GetStatusResp(<auto>)

  • 参数

    auto

class GetVersionResp(<auto>)

  • 参数

    auto

class SendMessageResp(<auto>)

  • 参数

    auto

class GetSelfInfoResp(<auto>)

  • 参数

    auto

class GetUserInfoResp(<auto>)

  • 参数

    auto

class GetGroupInfoResp(<auto>)

  • 参数

    auto

class GetGroupMemberInfoResp(<auto>)

  • 参数

    auto

class GetGuildInfoResp(<auto>)

  • 参数

    auto

class GetGuildMemberInfoResp(<auto>)

  • 参数

    auto

class GetChannelInfoResp(<auto>)

  • 参数

    auto

class GetChannelMemberInfoResp(<auto>)

  • 参数

    auto

class UploadFileResp(<auto>)

  • 参数

    auto

class UploadFileFragmentedResp(<auto>)

  • 参数

    auto

class GetFileUrlResp(<auto>)

  • 参数

    auto

class GetFilePathResp(<auto>)

  • 参数

    auto

class GetFileDataResp(<auto>)

  • 参数

    auto

class GetFileFragmentedPrepareResp(<auto>)

  • 参数

    auto

class GetFileFragmentedTransferResp(<auto>)

  • 参数

    auto

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

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

  • 参数

    • bot (Bot)

    • event (EventModel)

    • message (str | Message | MessageSegment)

    • at_sender (bool)

    • reply_message (bool)

    • **kwargs (Any)

  • 返回

    • Any

class Bot(adapter, self_id, impl, platform)

  • 参数

    • adapter (Adapter)

    • self_id (str)

    • impl (str)

    • platform (str)

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 (EventModel)
  • 返回

    • None

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

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

  • 参数

    • event (EventModel): 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 get_latest_events(*, limit=..., timeout=..., **kwargs)

  • 说明: 获取最新事件列表

  • 参数

    • limit (int): 获取的事件数量上限,0 表示不限制

    • timeout (int): 没有事件时要等待的秒数,0 表示使用短轮询,不等待

    • **kwargs (Any): 扩展字段

  • 返回

async method get_supported_actions(**kwargs)

  • 说明: 获取支持的动作列表

  • 参数

    • **kwargs (Any): 扩展字段
  • 返回

    • list[str]

async method get_status(**kwargs)

  • 说明: 获取运行状态

  • 参数

    • **kwargs (Any): 扩展字段
  • 返回

    • GetStatusResp

async method get_version(**kwargs)

  • 说明: 获取版本信息

  • 参数

    • **kwargs (Any): 扩展字段
  • 返回

    • GetVersionResp

async method send_message(*, detail_type, user_id=..., group_id=..., guild_id=..., channel_id=..., message, **kwargs)

  • 说明: 发送消息

  • 参数

    • detail_type (Literal['private', 'group', 'channel'] | str): 发送的类型, 可以为 private、group 或扩展的类型,和消息事件的 detail_type 字段对应

    • user_id (str): 用户 ID,当 detail_type 为 private 时必须传入

    • group_id (str): 群 ID,当 detail_type 为 group 时必须传入

    • guild_id (str): Guild 群组 ID,当 detail_type 为 channel 时必须传入

    • channel_id (str): 频道 ID,当 detail_type 为 channel 时必须传入

    • message (Message): 消息内容

    • **kwargs (Any): 扩展字段

  • 返回

    • SendMessageResp

async method delete_message(*, message_id, **kwargs)

  • 说明: 撤回消息

  • 参数

    • message_id (str): 唯一的消息 ID

    • **kwargs (Any)

  • 返回

    • None

async method get_self_info(**kwargs)

  • 说明: 获取机器人自身信息

  • 参数

    • **kwargs (Any)
  • 返回

    • GetSelfInfoResp

async method get_user_info(*, user_id, **kwargs)

  • 说明: 获取用户信息

  • 参数

    • user_id (str): 用户 ID,可以是好友,也可以是陌生人

    • **kwargs (Any): 扩展字段

  • 返回

    • GetUserInfoResp

async method get_friend_list(**kwargs)

  • 说明: 获取好友列表

  • 参数

    • **kwargs (Any): 扩展字段
  • 返回

    • list[GetUserInfoResp]

async method get_group_info(*, group_id, **kwargs)

  • 说明: 获取群信息

  • 参数

    • group_id (str): 群 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • GetGroupInfoResp

async method get_group_list(**kwargs)

  • 说明: 获取群列表

  • 参数

    • **kwargs (Any): 扩展字段
  • 返回

    • list[GetGroupInfoResp]

async method get_group_member_info(*, group_id, user_id, **kwargs)

  • 说明: 获取群成员信息

  • 参数

    • group_id (str): 群 ID

    • user_id (str): 用户 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • GetGroupMemberInfoResp

async method get_group_member_list(*, group_id, **kwargs)

  • 说明: 获取群成员列表

  • 参数

    • group_id (str): 群 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • list[GetGroupMemberInfoResp]

async method set_group_name(*, group_id, group_name, **kwargs)

  • 说明: 设置群名称

  • 参数

    • group_id (str): 群 ID

    • group_name (str): 群名称

    • **kwargs (Any): 扩展字段

  • 返回

    • None

async method leave_group(*, group_id, **kwargs)

  • 说明: 退出群

  • 参数

    • group_id (str): 群 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • None

async method get_guild_info(*, guild_id, **kwargs)

  • 说明: 获取 Guild 信息

  • 参数

    • guild_id (str): 群组 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • GetGuildInfoResp

async method get_guild_list(**kwargs)

  • 说明: 获取群组列表

  • 参数

    • **kwargs (Any): 扩展字段
  • 返回

    • list[GetGuildInfoResp]

async method set_guild_name(*, guild_id, guild_name, **kwargs)

  • 说明: 设置群组名称

  • 参数

    • guild_id (str): 群组 ID

    • guild_name (str): 群组名称

    • **kwargs (Any): 扩展字段

  • 返回

    • None

async method get_guild_member_info(*, guild_id, user_id, **kwargs)

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

  • 参数

    • guild_id (str): 群组 ID

    • user_id (str): 用户 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • GetGuildMemberInfoResp

async method get_guild_member_list(*, guild_id, **kwargs)

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

  • 参数

    • guild_id (str): 群组 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • list[GetGuildMemberInfoResp]

async method leave_guild(*, guild_id, **kwargs)

  • 说明: 退出群组

  • 参数

    • guild_id (str): 群组 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • None

async method get_channel_info(*, guild_id, channel_id, **kwargs)

  • 说明: 获取频道信息

  • 参数

    • guild_id (str): 群组 ID

    • channel_id (str): 频道 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • GetChannelInfoResp

async method get_channel_list(*, guild_id, joined_only=False, **kwargs)

  • 说明: 获取频道列表

  • 参数

    • guild_id (str): 群组 ID

    • joined_only (bool): 只获取机器人账号已加入的频道列表

    • **kwargs (Any): 扩展字段

  • 返回

    • list[GetChannelInfoResp]

async method set_channel_name(*, guild_id, channel_id, channel_name, **kwargs)

  • 说明: 设置频道名称

  • 参数

    • guild_id (str): 群组 ID

    • channel_id (str): 频道 ID

    • channel_name (str): 新频道名称

    • **kwargs (Any): 扩展字段

  • 返回

    • None

async method get_channel_member_info(*, guild_id, channel_id, user_id, **kwargs)

  • 说明: 获取频道成员信息

  • 参数

    • guild_id (str): 群组 ID

    • channel_id (str): 频道 ID

    • user_id (str): 用户 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • GetChannelMemberInfoResp

async method get_channel_member_list(*, guild_id, channel_id, **kwargs)

  • 说明: 获取频道成员列表

  • 参数

    • guild_id (str): 群组 ID

    • channel_id (str): 频道 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • list[GetChannelMemberInfoResp]

async method leave_channel(*, guild_id, channel_id, **kwargs)

  • 说明: 退出频道

  • 参数

    • guild_id (str): 群组 ID

    • channel_id (str): 频道 ID

    • **kwargs (Any): 扩展字段

  • 返回

    • None

async method upload_file(*, type, name, url=..., headers=..., path=..., data=..., sha256=..., **kwargs)

  • 说明: 上传文件

  • 参数

    • type (Literal['url', 'path', 'data'] | str): 上传文件的方式,可以为 url、path、data 或扩展的方式

    • name (str): 文件名

    • url (str): 文件 URL,当 type 为 url 时必须传入

    • headers (dict[str, str]): 下载 URL 时需要添加的 HTTP 请求头,可选传入

    • path (str): 文件路径,当 type 为 path 时必须传入

    • data (bytes): 文件数据,当 type 为 data 时必须传入

    • sha256 (str): 文件数据(原始二进制)的 SHA256 校验和,全小写,可选传入

    • **kwargs (Any): 扩展字段

  • 返回

    • UploadFileResp

method upload_file_fragmented(<auto>)

  • 说明: Helper for @overload to raise when called.

  • 重载

    1. (stage, name=..., total_size=..., **kwargs) -> UploadFileFragmentedResp

    • 参数

      • stage (Literal['prepare']): 上传阶段

      • name (str): 文件名

      • total_size (int): 文件完整大小

      • **kwargs (Any): 扩展字段

    • 返回

      • UploadFileFragmentedResp

    2. (stage, file_id=..., offset=..., data=..., **kwargs) -> None

    • 参数

      • stage (Literal['transfer']): 上传阶段

      • file_id (str): 准备阶段返回的文件 ID

      • offset (int): 本次传输的文件偏移,单位:字节

      • data (bytes): 本次传输的文件数据

      • **kwargs (Any): 扩展字段

    • 返回

      • None

    3. (stage, file_id=..., sha256=..., **kwargs) -> UploadFileResp

    • 参数

      • stage (Literal['finish']): 上传阶段

      • file_id (str): 准备阶段返回的文件 ID

      • sha256 (str): 整个文件的 SHA256 校验和,全小写

      • **kwargs (Any): 扩展字段

    • 返回

      • UploadFileResp

method get_file(<auto>)

  • 说明: Helper for @overload to raise when called.

  • 重载

    1. (*, type, file_id, **kwargs) -> GetFileUrlResp

    • 参数

      • type (Literal['url']): 获取文件的方式,可以为 url、path、data 或扩展的方式

      • file_id (str): 文件 ID

      • **kwargs (Any): 扩展字段

    • 返回

      • GetFileUrlResp

    2. (*, type, file_id, **kwargs) -> GetFilePathResp

    • 参数

      • type (Literal['path']): 获取文件的方式,可以为 url、path、data 或扩展的方式

      • file_id (str): 文件 ID

      • **kwargs (Any): 扩展字段

    • 返回

      • GetFilePathResp

    3. (*, type, file_id, **kwargs) -> GetFileDataResp

    • 参数

      • type (Literal['data']): 获取文件的方式,可以为 url、path、data 或扩展的方式

      • file_id (str): 文件 ID

      • **kwargs (Any): 扩展字段

    • 返回

      • GetFileDataResp

method get_file_fragmented(<auto>)

  • 说明: Helper for @overload to raise when called.

  • 重载

    1. (*, stage, file_id, **kwargs) -> GetFileFragmentedPrepareResp

    • 参数

      • stage (Literal['prepare']): 获取阶段

      • file_id (str): 文件 ID

      • **kwargs (Any): 扩展字段

    • 返回

      • GetFileFragmentedPrepareResp

    2. (*, stage, file_id, offset=..., size=...) -> GetFileFragmentedTransferResp

    • 参数

      • stage (Literal['transfer']): 获取阶段

      • file_id (str): 文件 ID

      • offset (int): 本次获取的文件偏移,单位:字节

      • size (int): 本次获取的文件大小,单位:字节

      • kwargs: 扩展字段

    • 返回

      • GetFileFragmentedTransferResp