public class CoolQ extends Object
| 构造器和说明 |
|---|
CoolQ(long selfId,
org.springframework.web.socket.WebSocketSession botSession,
net.lz1998.cq.robot.EventHandler eventHandler,
List<CQPlugin> pluginList) |
| 限定符和类型 | 方法和说明 |
|---|---|
ApiData<BooleanData> |
canSendImage()
检查是否可以发送图片
|
ApiData<BooleanData> |
canSendRecord()
检查是否可以发送语音
|
ApiRawData |
cleanDataDir(String data_dir)
清理数据目录
|
ApiRawData |
cleanPluginLog()
清理插件日志
|
ApiRawData |
deleteMsg(int message_id)
撤回消息
|
ApiData<CookiesData> |
getCookies(String domain)
获取 Cookies
|
ApiData<CredentialsData> |
getCredentials(String domain)
获取 QQ 相关接口凭证
即上面两个接口的合并
|
ApiData<CsrfTokenData> |
getCsrfToken()
获取 CSRF Token
|
ApiListData<FriendData> |
getFriendList()
获取好友列表
|
ApiData<GroupInfoData> |
getGroupInfo(long group_id,
boolean no_cache)
获取群信息
|
ApiListData<GroupData> |
getGroupList()
获取群列表
|
ApiData<GroupMemberInfoData> |
getGroupMemberInfo(long group_id,
long user_id,
boolean no_cache)
获取群成员信息
|
ApiListData<GroupMemberInfoData> |
getGroupMemberList(long group_id)
获取群成员列表
响应内容为 JSON 数组,每个元素的内容和上面的 /get_group_member_info 接口相同,但对于同一个群组的同一个成员,获取列表时和获取单独的成员信息时,某些字段可能有所不同,例如 area、title 等字段在获取列表时无法获得,具体应以单独的成员信息为准。
|
ApiData<FileData> |
getImage(String file)
获取图片
|
ApiData<LoginInfoData> |
getLoginInfo()
获取登录号信息
|
ApiData<FileData> |
getRecord(String file,
String out_format,
boolean full_path)
获取语音
|
ApiData<CQStatus> |
getStatus()
获取插件运行状态
|
ApiData<StrangerInfoData> |
getStrangerInfo(long user_id,
boolean no_cache)
获取陌生人信息
|
ApiData<VersionInfoData> |
getVersionInfo()
获取 酷Q 及 HTTP API 插件的版本信息
参数
|
void |
onReceiveApiMessage(com.alibaba.fastjson.JSONObject message) |
void |
onReceiveEventMessage(com.alibaba.fastjson.JSONObject message) |
ApiData<MessageData> |
sendDiscussMsg(long discuss_id,
String message,
boolean auto_escape)
发送讨论组消息
|
ApiData<MessageData> |
sendGroupMsg(long group_id,
String message,
boolean auto_escape)
发送群消息
|
ApiRawData |
sendLike(long user_id,
Integer times)
发送好友赞
|
ApiData<MessageData> |
sendPrivateMsg(long user_id,
String message,
boolean auto_escape)
发送私聊消息
|
ApiRawData |
setDiscussLeave(long discuss_id)
退出讨论组
|
ApiRawData |
setFriendAddRequest(String flag,
boolean approve,
String remark)
处理加好友请求
|
ApiRawData |
setGroupAddRequest(String flag,
String sub_type,
boolean approve,
String reason)
处理加群请求/邀请
|
ApiRawData |
setGroupAdmin(long group_id,
long user_id,
boolean enable)
群组设置管理员
|
ApiRawData |
setGroupAnonymous(long group_id,
boolean enable)
群组匿名
|
ApiRawData |
setGroupAnonymousBan(long group_id,
CQGroupAnonymous cqGroupAnonymous,
boolean duration)
群组匿名用户禁言
|
ApiRawData |
setGroupAnonymousBan(long group_id,
String flag,
boolean duration)
群组匿名用户禁言
|
ApiRawData |
setGroupBan(long group_id,
long user_id,
long duration)
群组单人禁言
|
ApiRawData |
setGroupCard(long group_id,
long user_id,
String card)
设置群名片(群备注)
|
ApiRawData |
setGroupKick(long group_id,
long user_id,
boolean reject_add_request)
群组踢人
|
ApiRawData |
setGroupLeave(long group_id,
boolean is_dismiss) |
ApiRawData |
setGroupSpecialTitle(long group_id,
long user_id,
String special_title,
boolean duration)
设置群组专属头衔
|
ApiRawData |
setGroupWholeBan(long group_id,
boolean enable)
群组全员禁言
|
ApiRawData |
setRestartPlugin(int delay)
重启 HTTP API 插件
|
public void onReceiveApiMessage(com.alibaba.fastjson.JSONObject message)
public void onReceiveEventMessage(com.alibaba.fastjson.JSONObject message)
public ApiData<MessageData> sendPrivateMsg(long user_id, String message, boolean auto_escape)
user_id - 对方 QQ 号message - 要发送的内容auto_escape - 消息内容是否作为纯文本发送(即不解析 CQ 码),只在 message 字段是字符串时有效public ApiData<MessageData> sendGroupMsg(long group_id, String message, boolean auto_escape)
group_id - 群号message - 要发送的内容auto_escape - 消息内容是否作为纯文本发送(即不解析 CQ 码),只在 message 字段是字符串时有效public ApiData<MessageData> sendDiscussMsg(long discuss_id, String message, boolean auto_escape)
discuss_id - 讨论组 ID(正常情况下看不到,需要从讨论组消息上报的数据中获得)message - 要发送的内容auto_escape - 消息内容是否作为纯文本发送(即不解析 CQ 码),只在 message 字段是字符串时有效public ApiRawData deleteMsg(int message_id)
message_id - 消息 IDpublic ApiRawData sendLike(long user_id, Integer times)
user_id - 对方 QQ 号times - 赞的次数,每个好友每天最多 10 次public ApiRawData setGroupKick(long group_id, long user_id, boolean reject_add_request)
group_id - 群号user_id - 要踢的 QQ 号reject_add_request - 拒绝此人的加群请求public ApiRawData setGroupBan(long group_id, long user_id, long duration)
group_id - 群号user_id - 要禁言的 QQ 号duration - 禁言时长,单位秒,0 表示取消禁言public ApiRawData setGroupAnonymousBan(long group_id, CQGroupAnonymous cqGroupAnonymous, boolean duration)
group_id - 群号cqGroupAnonymous - 要禁言的匿名用户对象(群消息上报的 anonymous 字段)duration - 禁言时长,单位秒,无法取消匿名用户禁言public ApiRawData setGroupAnonymousBan(long group_id, String flag, boolean duration)
group_id - 群号flag - 要禁言的匿名用户的 flag(需从群消息上报的数据中获得)duration - 禁言时长,单位秒,无法取消匿名用户禁言public ApiRawData setGroupWholeBan(long group_id, boolean enable)
group_id - 群号enable - 是否禁言public ApiRawData setGroupAdmin(long group_id, long user_id, boolean enable)
group_id - 群号user_id - 要设置管理员的 QQ 号enable - true 为设置,false 为取消public ApiRawData setGroupAnonymous(long group_id, boolean enable)
group_id - 群号enable - 是否允许匿名聊天public ApiRawData setGroupCard(long group_id, long user_id, String card)
group_id - 群号user_id - 要设置的 QQ 号card - 群名片内容,不填或空字符串表示删除群名片public ApiRawData setGroupLeave(long group_id, boolean is_dismiss)
group_id - 群号is_dismiss - 是否解散,如果登录号是群主,则仅在此项为 true 时能够解散public ApiRawData setGroupSpecialTitle(long group_id, long user_id, String special_title, boolean duration)
group_id - 群号user_id - 要设置的 QQ 号special_title - 专属头衔,不填或空字符串表示删除专属头衔duration - 专属头衔有效期,单位秒,-1 表示永久,不过此项似乎没有效果,可能是只有某些特殊的时间长度有效,有待测试public ApiRawData setDiscussLeave(long discuss_id)
discuss_id - 讨论组 ID(正常情况下看不到,需要从讨论组消息上报的数据中获得)public ApiRawData setFriendAddRequest(String flag, boolean approve, String remark)
flag - 加好友请求的 flag(需从上报的数据中获得)approve - 是否同意请求remark - 添加后的好友备注(仅在同意时有效)public ApiRawData setGroupAddRequest(String flag, String sub_type, boolean approve, String reason)
flag - 加群请求的 flag(需从上报的数据中获得)sub_type - add 或 invite,请求类型(需要和上报消息中的 sub_type 字段相符)approve - 是否同意请求/邀请reason - 拒绝理由(仅在拒绝时有效)public ApiData<LoginInfoData> getLoginInfo()
public ApiData<StrangerInfoData> getStrangerInfo(long user_id, boolean no_cache)
user_id - QQ 号no_cache - 是否不使用缓存(使用缓存可能更新不及时,但响应更快)public ApiListData<FriendData> getFriendList()
public ApiListData<GroupData> getGroupList()
public ApiData<GroupInfoData> getGroupInfo(long group_id, boolean no_cache)
group_id - 群号no_cache - 是否不使用缓存(使用缓存可能更新不及时,但响应更快)public ApiData<GroupMemberInfoData> getGroupMemberInfo(long group_id, long user_id, boolean no_cache)
group_id - 群号user_id - QQ 号no_cache - 是否不使用缓存(使用缓存可能更新不及时,但响应更快)public ApiListData<GroupMemberInfoData> getGroupMemberList(long group_id)
响应内容为 JSON 数组,每个元素的内容和上面的 /get_group_member_info 接口相同,但对于同一个群组的同一个成员,获取列表时和获取单独的成员信息时,某些字段可能有所不同,例如 area、title 等字段在获取列表时无法获得,具体应以单独的成员信息为准。
group_id - 群号public ApiData<CookiesData> getCookies(String domain)
domain - 需要获取 cookies 的域名public ApiData<CsrfTokenData> getCsrfToken()
public ApiData<CredentialsData> getCredentials(String domain)
domain - 需要获取 cookies 的域名public ApiData<FileData> getRecord(String file, String out_format, boolean full_path)
file - 收到的语音文件名(CQ 码的 file 参数),如 0B38145AA44505000B38145AA4450500.silkout_format - 要转换到的格式,目前支持 mp3、amr、wma、m4a、spx、ogg、wav、flacfull_path - 是否返回文件的绝对路径(Windows 环境下建议使用,Docker 中不建议)public ApiData<FileData> getImage(String file)
file - 收到的图片文件名(CQ 码的 file 参数),如 6B4DE3DFD1BD271E3297859D41C530F5.jpgpublic ApiData<BooleanData> canSendImage()
public ApiData<BooleanData> canSendRecord()
public ApiData<VersionInfoData> getVersionInfo()
public ApiRawData setRestartPlugin(int delay)
delay - 要延迟的毫秒数,如果默认情况下无法重启,可以尝试设置延迟为 2000 左右public ApiRawData cleanDataDir(String data_dir)
data_dir - 收到清理的目录名,支持 image、record、show、bfacepublic ApiRawData cleanPluginLog()
Copyright © 2020. All rights reserved.