# API

小贴士

如果响应数据多于一项,通常会采用Dictionary字典格式返回,因此,你可以使用以下方法使用 方法名()['字段名']

Dictionary<string, object> xxx =方法名(); xxx['字段名'];

# 发送消息

方法名: SendMsg

参数

字段名 数据类型 默认值 说明
Message string - 要发送的内容
MessageType string - 消息类型, 支持 privategroup , 分别对应私聊、群组, 如不传入, 则根据传入的 *_id 参数判断
UserID long - 对方 QQ 号 ( 消息类型为 private 时需要 )
GroupID long - 群号 ( 消息类型为 group 时需要 )
AutoEscape bool false 消息内容是否作为纯文本发送 ( 即不解析 CQ 码 )

响应数据

字段名 数据类型 说明
MessageID string 消息 ID

# 发送私聊消息

方法名: SendPrivateMessage

参数

字段名 数据类型 默认值 说明
UserID long - 对方 QQ 号
Message string - 要发送的内容
AutoEscape bool false 消息内容是否作为纯文本发送 ( 即不解析 CQ 码 )

响应数据

字段名 数据类型 说明
MessageID string 消息 ID

# 发送群聊消息

方法名: SendGroupMessage

参数

字段名 数据类型 默认值 说明
GroupID long - 要发送的群号
Message string - 要发送的内容
AutoEscape bool false 消息内容是否作为纯文本发送 ( 即不解析 CQ 码 )

响应数据

字段名 数据类型 说明
MessageID string 消息 ID

# 撤回消息

方法名: DeleteMessage

参数

字段名 数据类型 默认值 说明
MessageID string - 消息 ID

响应数据

无响应

本接口无响应数据

# 获取消息

方法名: GetMsg

参数

字段名 数据类型 默认值 说明
MessageID string - 消息 ID

响应数据

字段名 数据类型 说明
MessageID string 消息id
RealID int 消息真实id
Sender Sender 发送者
Time int 发送时间
Message string 消息内容
RawMessage string 原始消息内容

# 获取合并转发内容

方法名: GetForwardMsg

不可用

该方法暂时不可用 - 等待 go-cqhttp修复

参数

字段名 数据类型 默认值 说明
MessageID string - 消息 ID

响应数据

字段名 数据类型 说明
Message JObject 消息节点

# 转发合并消息到群

方法名: SendGroupForwardMessage

不可用

该方法暂时不可用 - 等待 go-cqhttp修复

参数

字段名 数据类型 默认值 说明
GroupID long - 要发送的群号
Message JArray - 要发送的内容

响应数据

字段名 数据类型 说明
MessageID string 消息 ID

# 群组踢人

方法名: SetGroupKick

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
UserID long - 要踢的 QQ 号
RejectAddRequest bool false 拒绝此人的加群请求

响应数据

无响应

本接口无响应数据

# 群组单人禁言

方法名: SetGroupBan

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
UserID long - 要禁言的 QQ 号
Duration int 30 * 60 禁言时长, 单位秒, 0 表示取消禁言

响应数据

无响应

本接口无响应数据

# 群组匿名用户禁言

方法名: SetGroupAnonymousBan

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
Duration int 30 * 60 禁言时长, 单位秒, 0 表示取消禁言
AnonymousFlag string - 可选, 要禁言的匿名用户的 flag (需从群消息上报的数据中获得)
Anonymous Anonymous - 可选, 要禁言的匿名用户的对象 (需从群消息上报的数据中获得)

小贴士

AnonymousFlag 与 Anonymous 任选其一填入即可

响应数据

无响应

本接口无响应数据

# 群组全体禁言

方法名: SetGroupWholeBan

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
Enable bool true 是否开启

响应数据

无响应

本接口无响应数据

# 群组设置管理员

方法名: SetGroupAdmin

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
UserID long - 要设置为管理员的 QQ 号
Enable bool true true是设置,false 是取消设置

响应数据

无响应

本接口无响应数据

# 设置群名片 (群备注)

方法名: SetGroupCard

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
UserID long - 要设置的 QQ 号
Card string null 群名片内容,传入null代表删除群名片

响应数据

无响应

本接口无响应数据

# 设置群名称

方法名: SetGroupName

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
GroupName string - 新群名称

响应数据

无响应

本接口无响应数据

# 设置群组成员专属头衔

方法名: SetGroupSpecialTitle

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
UserID long - 要设置的 QQ 号
SpecialTitle string null 专属头衔, 传入null代表删除专属头衔
Duration int -1 专属头衔有效期, 单位秒, -1 表示永久, 不过此项似乎没有效果, 可能是只有某些特殊的时间长度有效, 有待测试

响应数据

无响应

本接口无响应数据

# 退出群组

方法名: SetGroupLeave

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
IsDismiss bool false 是否解散(登录号必须是群主且本参数为true时能解散)

响应数据

无响应

本接口无响应数据

# 处理加群请求 / 邀请

方法名: SetGroupAddRequest

参数

字段名 数据类型 默认值 说明
Flag string - 加好友请求的 flag(需从上报的数据中获得)
SubType string - addinvite, 请求类型(需要和上报消息中的 SubType 字段相符)
Approve bool true 是否同意请求
Remark string null 添加后的好友备注(仅在同意时有效)

响应数据

无响应

本接口无响应数据

# 处理加好友请求

方法名: SetFriendAddRequest

参数

字段名 数据类型 默认值 说明
Flag string - 加好友请求的 flag(需从上报的数据中获得)
Approve bool true 是否同意请求
Remark string null 添加后的好友备注(仅在同意时有效)

响应数据

无响应

本接口无响应数据

# 获取登录号信息

方法名: GetLoginInfo

参数

无参数

本接口无需参数

响应数据

字段名 数据类型 说明
UserID long QQ 号
NickName string QQ 昵称

注意

本框架暂时不支持获取企点账号信息

# 获取陌生人信息

方法名: GetStrangerInfo

参数

字段名 数据类型 默认值 说明
UserID long - QQ 号
Cache bool false 是否使用缓存(使用缓存可能更新不及时, 但响应更快)

响应数据

字段名 数据类型 说明
UserID long QQ 号
NickName string 昵称
Sex string 性别, malefemaleunknown
Age int 年龄
QID string QID ID身份卡

# 获取好友列表

方法名: GetFriendList

参数

无参数

本接口无需参数

响应数据

字段名 数据类型 说明
Friends List<Friends> 好友列表

# 删除好友

方法名: DeleteFriend

参数

字段名 数据类型 默认值 说明
UserID long - 好友QQ号

响应数据

无响应

本接口无响应数据

# 获取群信息

方法名: GetGroupInfo

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
Cache bool false 是否使用缓存(使用缓存可能更新不及时, 但响应更快)

响应数据

字段名 数据类型 说明
Group Groups 群组对象

# 获取群头像

方法名: DownloadGroupImage

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
SaveTo string - 图片保存路径,需要携带文件名和文件后缀,通常后缀为.jpg

响应数据

字段名 数据类型 说明
Yes bool 返回一个布尔值确定是否成功

# 设置群头像

方法名: SetGroupPortrait

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
File string - 图片文件名
Cache int 1 表示是否使用已缓存的文件

[1] File 参数支持以下几种格式:

  • 绝对路径, 例如 file:///C:\\Users\Admin\Pictures\x.png, 格式使用 file URI (opens new window)
  • 网络 URL, 例如 http://i1.piimg.com/xxxx/xxxx.jpg
  • Base64 编码, 例如 base64://iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAIAAADxJt1n/AAAAKElEQsVQ4EWPk5+RmIBcwkasRpG9UM4mhNxpgowFGMARGEwnBIEJVAAAdBgBNAZf+QAAAAABJRU5ErkJggg==

[2] Cache参数: 通过网络 URL 发送时有效, 1表示使用缓存, 0关闭关闭缓存, 默认 为1

[3] 目前这个API在登录一段时间后因cookie失效而失效, 请考虑后使用

响应数据

无响应

本接口无响应数据

# 获取群列表

方法名: GetGroupList

参数

无参数

本接口无需参数

响应数据

字段名 数据类型 说明
Groups List<Groups> 群列表

# 获取群成员信息

方法名: GetGroupMemberInfo

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
UserID long - QQ号
Cache bool false 是否使用缓存(使用缓存可能更新不及时, 但响应更快)

响应数据

字段名 数据类型 说明
GroupMember GroupMember 群成员对象

# 获取群成员列表

方法名: GetGroupMemberList

参数

字段名 数据类型 默认值 说明
GroupID long - 群号

响应数据

留意

有些字段可能因为内部接口原因不一致或不存在,具体信息请根据获取群信息为准

字段名 数据类型 说明
GroupMembers List<GroupMember> 群成员列表

# 获取群荣誉信息

方法名: GetGroupHonorInfo

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
Type string - 要获取的群荣誉类型, 可传入 talkative performer legend strong_newbie emotion 以分别获取单个类型的群荣誉数据, 或传入 all 获取所有数据

响应数据

字段名 数据类型 说明
HonorListInfos List<HonorListInfo> 群荣耀信息列表

# 获取群文件系统信息

方法名: GetGroupFileSystemInfo

参数

字段名 数据类型 默认值 说明
GroupID long - 群号

响应数据

字段名 数据类型 说明
FileCount int 文件总数
LimitCount int 文件上限
UsedSpace long 已使用空间
TotalSpace long 空间上限

# 获取群文件资源链接

方法名: GetGroupFilesURL

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
FileID string - 文件ID 参见 File
BusID int - 文件类型 参见 File

响应数据

字段名 数据类型 说明
URL string 文件下载链接

# 上传群文件

方法名: UploadGroupFile

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
FilePath string - 本地文件路径
SaveName string - 储存名称
Folder string null 父目录ID

注意

在不提供 Folder 参数的情况下默认上传到根目录

只能上传本地文件, 需要上传 HTTP 文件的话请先调用 下载文件到缓存目录下载

响应数据

无响应

本接口无响应数据

# 获取群 @全体成员 剩余次数

方法名: GetGroupAtAllRemain

参数

字段名 数据类型 默认值 说明
GroupID long - 群号

响应数据

字段名 数据类型 说明
CanAtAll bool 是否可以 @全体成员
GroupAdminAtAllCount short 群内所有管理当天剩余 @全体成员 次数
BotAtAllCount short Bot 当天剩余 @全体成员 次数

# 获取群系统消息

方法名: GetGroupSystemMsg

参数

无参数

本接口无需参数

响应数据

字段名 数据类型 说明
InvitedRequest List<InvitedRequest> 邀请消息列表
JoinRequest List<JoinRequest> 进群消息列表

# 获取群根目录文件列表

方法名: GetGroupRootFiles

参数

字段名 数据类型 默认值 说明
GroupID long - 群号

响应数据

字段名 数据类型 说明
Files List<File> 文件列表
Folder List<Folder> 文件夹列表

# 获取群子目录文件列表

方法名: GetGroupFilesByFolder

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
FolderID string - 文件夹ID

响应数据

字段名 数据类型 说明
Files List<File> 文件列表
Folder List<Folder> 文件夹列表

# 获取群消息历史记录

方法名: GetGroupMsgHistory

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
MessageSeq long 0 消息序号,可以通过获取消息获得,0为获取最新消息

响应数据

字段名 数据类型 说明
Messages List<Messages> 消息列表,从消息序号开始的19条消息

# 获取精华消息列表

方法名: GetEssenceMsgList

参数

字段名 数据类型 默认值 说明
GroupID long - 群号

响应数据

字段名 数据类型 说明
Essences List<Essences> 文件列表

# 设置精华消息

方法名: SetEssenceMsg

参数

字段名 数据类型 默认值 说明
MessageID string - 消息ID

响应数据

无响应

本接口无响应数据

# 移除精华消息

方法名: DelEssenceMsg

参数

字段名 数据类型 默认值 说明
MessageID string - 消息ID

响应数据

无响应

本接口无响应数据

# 发送群公告

方法名: SendGroupNotice

参数

字段名 数据类型 默认值 说明
GroupID long - 群号
Content string - 公告内容

响应数据

无响应

本接口无响应数据

# 获取版本信息

方法名: GetVersionInfo

参数

无参数

本接口无需参数

响应数据

字段名 数据类型 默认值 说明
AppName string go-cqhttp 应用标识, 如 go-cqhttp 固定值
AppVersion string - 应用版本, 如 v0.9.40-fix5
AppFullName string - 应用完整名称
ProtocolVersion string v11 OneBot 标准版本 固定值
CQEdition string pro 原CQ版本 固定值
CQDirectory string - -
IsGoCqhttp bool true 是否为 go-cqhttp 固定值
PluginVersion string 4.15.0 固定值
PluginBuildNumber int 99 固定值
PluginBuildConfiguration string release 固定值
RuntimeVersion string - -
RuntimeOS string - -
Version string - 应用版本, 如 v0.9.40-fix4
Protocol int 0/1/2/3/-1 当前登陆使用协议类型

# 获取图片信息

方法名: GetImage

参数

字段名 数据类型 说明
Filename string 图片缓存文件名(可以带后缀也可以不带后缀)

响应数据

字段名 数据类型 说明
Size int 图片源文件大小
FileName string 图片文件原名
Url string 图片下载地址

# 检查是否可以发送图片

方法名: CanSendImage

参数

无参数

本接口无需参数

响应数据

字段名 数据类型 说明
Yes bool 是/否

# 检查是否可以发送语音

方法名: CanSendRecord

参数

无参数

本接口无需参数

响应数据

字段名 数据类型 说明
Yes bool 是/否

# 检查链接安全性

方法名: CheckURLSafely

参数

字段名 数据类型 默认值 说明
URL string - 待检测的URL

响应数据

字段名 数据类型 说明
Level int 安全等级, 1: 安全 2: 未知 3: 危险

# 重启 go-cqhttp - 请慎用!

方法名: SetRestart

留意

由于重启 go-cqhttp 同时需要重启 API 服务, 这意味着当前的 API 请求会被中断, 因此需要异步地重启, 接口返回的状态是异步的

参数

字段名 数据类型 默认值 说明
Delay int 0 要延迟的毫秒数, 如果默认情况下无法重启, 可以尝试设置延迟为 2000 左右

响应数据

无响应

本接口无响应数据

# 获取状态

方法名: GetStatus

参数

无参数

本接口无需参数

响应数据

留意

所有统计信息将在重启后重新计算

字段名 数据类型 说明
AppInitialized bool CQHTTP 字段, 恒定为 true
AppEnabled bool CQHTTP 字段, 恒定为 true
PluginsGood bool CQHTTP 字段, 恒定为 true
AppGood bool CQHTTP 字段, 恒定为 true
Online bool BOT是否在线
Good bool Online
Statistics RunningStatistics 运行统计

# 图片 OCR

方法名: GetGroupInfo

参数

字段名 数据类型 默认值 说明
Image string - 图片ID

响应数据

字段名 数据类型 说明
Texts List<OCRTextDetection> OCR结果
Language string 语言

# 获取VIP信息

方法名: GetVIPInfo

参数

字段名 数据类型 默认值 说明
UserID long - QQ号

响应数据

字段名 数据类型 说明
UserID long QQ 号
NickName string 用户昵称
Level long QQ 等级
LevelSpeed double 等级加速度
VipLevel string 会员等级
VipGrowthSpeed long 会员成长速度
VipGrowthTotal long 会员成长总值

# 重载事件过滤器

方法名: ReloadEventFilter

参数

无参数

本接口无需参数

响应数据

无响应

本接口无响应数据

# 下载文件到缓存目录

方法名: DownloadFile

小贴士

通过这个接口下载的文件能直接放入CQ码作为图片或语音发送

调用后会阻塞直到下载完成后才会返回数据,请注意下载大文件时的超时问题

参数

字段名 数据类型 默认值 说明
URL string - 链接地址
ThreadCount int32 - 下载线程数
Headers string[] - 自定义请求头

注意

Headers的每一个头部格式应为"xxx=xxx"

响应数据

字段名 数据类型 说明
FilePath string 下载文件的绝对路径

# 获取当前账号在线客户端列表

方法名: GetOnlineClients

参数

字段名 数据类型 默认值 说明
Cache bool - 是否无视缓存

响应数据

字段名 数据类型 说明
Files List<Device> 在线设备列表

# 获取在线机型

方法名: GetModels

参数

字段名 数据类型 默认值 说明
ModelName string - 机型名称

响应数据

字段名 数据类型 说明
Models List<Models> 在线机型列表

# 设置在线机型

方法名: SetModel

参数

字段名 数据类型 默认值 说明
ModelName string - 机型名称
ShowModelName string - 在线机型名称

响应数据

无响应

本接口无响应数据