Skip to content

类型参考

本页面列出 QimenBot 框架中所有核心数据类型的字段定义与说明。

响应类型

以下类型为调用 OneBot API 后返回的响应结构体。

LoginInfoResponse

调用 get_login_info() 返回。

字段类型说明
user_idi64Bot QQ号
nicknameStringBot 昵称

SendMsgResponse

调用 send_msg() / send_group_msg() / send_private_msg() 返回。

字段类型说明
message_idi64发送的消息ID

GetMsgResponse

调用 get_msg() 返回。

字段类型说明
message_idi64消息ID
real_idOption<i64>真实消息ID
senderOption<SenderInfo>发送者信息,见 SenderInfo
timeOption<i64>时间戳
messageValue消息内容(JSON 格式)
raw_messageOption<String>原始 CQ 码

GroupInfoResponse

调用 get_group_info() 返回。

字段类型说明
group_idi64群号
group_nameString群名
member_countOption<i64>成员数
max_member_countOption<i64>最大成员数

GroupMemberInfoResponse

调用 get_group_member_info() 返回。

字段类型说明
group_idOption<i64>群号
user_idi64用户 QQ号
nicknameOption<String>昵称
cardOption<String>群名片
sexOption<String>性别,"male" / "female" / "unknown"
ageOption<i64>年龄
areaOption<String>地区
join_timeOption<i64>入群时间戳
last_sent_timeOption<i64>最后发言时间戳
levelOption<String>等级
roleOption<String>角色,"owner" / "admin" / "member"
titleOption<String>专属头衔

FriendInfoResponse

调用 get_friend_list() 返回的列表元素类型。

字段类型说明
user_idi64用户 QQ号
nicknameString昵称
remarkOption<String>好友备注

StrangerInfoResponse

调用 get_stranger_info() 返回。

字段类型说明
user_idi64用户 QQ号
nicknameString昵称
sexOption<String>性别
ageOption<i64>年龄

CanSendResponse

调用 can_send_image() / can_send_record() 返回。

字段类型说明
yesbool是否支持

GetForwardMsgResponse

调用 get_forward_msg() 返回。

字段类型说明
messageValue合并转发消息内容(JSON 格式)

SenderInfo

消息发送者的详细信息,内嵌于 GetMsgResponse 中。

字段类型说明
user_idOption<i64>用户 QQ号
nicknameOption<String>昵称
cardOption<String>群名片
sexOption<String>性别
ageOption<i64>年龄
areaOption<String>地区
levelOption<String>等级
roleOption<String>角色
titleOption<String>专属头衔

核心框架类型

NormalizedEvent

统一事件对象,是所有事件处理器中最常使用的类型。通过 ctx.event() 获取。

TIP

NormalizedEvent 提供了大量便捷方法来访问事件中的字段,无需手动解析 JSON。

身份信息方法

方法返回类型说明
sender_id()Option<String>发送者 ID(字符串)
sender_id_i64()Option<i64>发送者 ID(整数)
sender_nickname()Option<String>发送者昵称
sender_role()Option<String>发送者角色
sender_card()Option<String>发送者群名片
sender_sex()Option<String>发送者性别
sender_age()Option<i64>发送者年龄
sender_level()Option<String>发送者等级
sender_title()Option<String>发送者专属头衔

聊天信息方法

方法返回类型说明
chat_id()Option<String>当前聊天 ID(群号或用户 ID)
group_id()Option<String>群号(字符串)
group_id_i64()Option<i64>群号(整数)
is_group()bool是否为群聊消息
is_private()bool是否为私聊消息

原始 JSON 字段方法

方法返回类型说明
user_id()Option<String>用户 ID
message_id()Option<String>消息 ID
self_id()Option<i64>Bot 自身 ID(整数)
self_id_str()Option<String>Bot 自身 ID(字符串)
sub_type()Option<String>事件子类型
message_type()Option<String>消息类型
post_type()Option<String>上报类型
notice_type()Option<String>通知类型
request_type()Option<String>请求类型
operator_id()Option<String>操作者 ID
target_id()Option<String>目标 ID
comment()Option<String>附加评论信息
flag()Option<String>请求标识
duration()Option<i64>时长(秒)

便捷方法

方法返回类型说明
plain_text()String提取消息纯文本内容
is_at_self()bool消息是否 @ 了 Bot
is_group_admin_or_owner()bool发送者是否为群管理员或群主
is_poke_self()bool是否为戳一戳 Bot 的事件

CommandPluginSignal

命令处理器的返回信号,决定命令执行后的行为。

变体说明
Reply(Message)回复一条消息
Continue不做任何操作,继续后续流程
Block(Message)回复消息并阻止后续处理器
Ignore忽略本次事件

SystemPluginSignal

系统事件处理器的返回信号。

变体说明
Continue继续后续流程
Reply(Message)回复一条消息
ApproveFriend { flag, remark }同意好友请求,flag: 请求标识,remark: 备注名
RejectFriend { flag, reason }拒绝好友请求,flag: 请求标识,reason: 拒绝理由
ApproveGroupInvite { flag, sub_type }同意群邀请/加群请求
RejectGroupInvite { flag, sub_type, reason }拒绝群邀请/加群请求
Block(Message)回复消息并阻止后续处理器
Ignore忽略本次事件

CommandRole

命令的权限等级。

变体说明
Anyone任何人可执行
Admin仅群管理员及以上可执行
Owner仅群主可执行

CommandDefinition

命令定义结构体,用于注册命令时描述命令的元信息。

字段类型说明
nameString命令名称
descriptionString命令描述
aliasesVec<String>命令别名列表
examplesVec<String>使用示例
categoryString命令分类
hiddenbool是否隐藏(不显示在帮助中)
required_roleCommandRole所需权限等级
scopeCommandScope作用域(默认 All
filterMessageFilter消息过滤器

CommandScope

命令的作用域,声明命令在群聊/私聊中的可用性。

变体说明
All (默认)群聊和私聊均可触发
Group仅在群聊中触发
Private仅在私聊中触发

MessageFilter

消息过滤器,用于精确匹配符合条件的消息。

字段类型说明
cmdOption<String>精确匹配命令名
starts_withOption<String>消息以指定文本开头
ends_withOption<String>消息以指定文本结尾
containsOption<String>消息包含指定文本
groupsOption<Vec<i64>>限定群号列表
sendersOption<Vec<i64>>限定发送者列表
at_modeAtModeAt 模式:Need / NotNeed / Both
reply_filterOption<ReplyFilter>回复消息过滤
media_typesOption<Vec<String>>媒体类型过滤
invertbool是否反转过滤结果

PluginMetadata

插件元数据,描述插件的基本信息。

字段类型说明
idString插件唯一标识
nameString插件名称
versionString插件版本
descriptionString插件描述
api_versionString兼容的框架 API 版本
compatibilityString兼容性说明

键盘类型

用于构建 QQ 机器人消息中的按钮键盘。

Button

字段类型说明
idString按钮唯一标识
labelString按钮文本
visited_labelString点击后显示的文本
action_typeu8动作类型,见 ButtonAction
action_dataString动作数据(URL / 回调值 / 命令文本)
styleu8按钮样式,见 ButtonStyle
permission_typeu8权限类型,见 ButtonPermission

ButtonAction

按钮动作类型枚举。

名称说明
0Jump跳转 URL
1Callback回调
2Command发送命令

ButtonStyle

按钮样式枚举。

名称说明
0Grey灰色按钮
1Blue蓝色按钮

ButtonPermission

按钮权限类型枚举。

名称说明
0SpecifiedUsers指定用户可操作
1Manager仅管理员可操作
2All所有人可操作
3SpecifiedRoles指定角色可操作

协议类型

框架多协议支持相关的底层类型。

ProtocolId

协议标识枚举。

变体说明
OneBot11OneBot 11 协议
OneBot12OneBot 12 协议
SatoriSatori 协议
Custom(String)自定义协议

TransportMode

传输模式枚举。

变体说明
WsForward正向 WebSocket
WsReverse反向 WebSocket
HttpApiHTTP API
HttpPostHTTP POST 上报
WebhookWebhook
Custom(String)自定义传输模式

EventKind

事件类型枚举。

变体说明
Message消息事件
MessageSentBot 发送消息事件
Notice通知事件
Request请求事件
Meta元事件
Internal(String)框架内部事件

ActionStatus

API 调用状态枚举。

变体说明
Ok调用成功
Async异步处理中
Failed调用失败

基于 MIT 许可证发布