Documentation ¶
Index ¶
- Constants
- Variables
- func GetCurrPath() (string, error)
- func IRAddBkList(QQ, objQQ string) bool
- func IRAddQQ(qq, password string, autoLogin bool) string
- func IRAdminInviteGroup(QQ, objQQ, objGroup string)
- func IRBeInput(QQ, objQQ string)
- func IRCheckGift(qq string) string
- func IRCreateDisGroup(QQ, disName string) string
- func IRDelBkList(QQ, objQQ string)
- func IRDelFriend(QQ, objQQ string) bool
- func IRDelQQ(qq string) string
- func IRDisabledPlugin()
- func IRGIDTransGN(gid string) string
- func IRGNTransGID(objGroup string) string
- func IRGetAge(QQ, objQQ string) int
- func IRGetBkn(QQ string) string
- func IRGetBkn32(QQ string) string
- func IRGetBlogPsKey(QQ string) string
- func IRGetClassRoomPsKey(QQ string) string
- func IRGetClientKey(QQ string) string
- func IRGetCookies(QQ string) string
- func IRGetDisGroupList(QQ string) string
- func IRGetDisGroupMemberList(QQ, disId string) string
- func IRGetExpertDays(QQ, objQQ string) int
- func IRGetFriendList(QQ string) string
- func IRGetFriendListB(QQ string) string
- func IRGetFriendsRemark(QQ, objQQ string) string
- func IRGetGender(QQ, objQQ string) int
- func IRGetGroupAddMode(QQ, objGroup string) string
- func IRGetGroupAdmin(QQ, objGroup string) string
- func IRGetGroupCard(QQ, objGroup, objQQ string) string
- func IRGetGroupChatLv(QQ, objGroup, objQQ string) int
- func IRGetGroupList(QQ string) string
- func IRGetGroupListA(QQ string) string
- func IRGetGroupListB(QQ string) string
- func IRGetGroupLv(QQ, objGroup string) int
- func IRGetGroupMemberList(QQ, objGroup string) string
- func IRGetGroupMemberListB(QQ, objGroup string) string
- func IRGetGroupMemberListC(QQ, objGroup string) string
- func IRGetGroupMemberNum(QQ, objGroup string) string
- func IRGetGroupName(QQ, objGroup string) string
- func IRGetGroupPsKey(QQ string) string
- func IRGetLog() string
- func IRGetLongClientKey(QQ string) string
- func IRGetLongLdw(QQ string) string
- func IRGetNick(QQ string, objQQ string) string
- func IRGetNotice(QQ, objGroup string) string
- func IRGetObjInfo(QQ, objQQ string) string
- func IRGetObjLevel(QQ, objQQ string) int
- func IRGetObjVote(QQ, objQQ string) int32
- func IRGetOffLineList() string
- func IRGetOnLineList() string
- func IRGetOnlineState(QQ, objQQ string) int
- func IRGetPicLink(QQ string, picType int, obj, guid string) string
- func IRGetQQAddMode(QQ, objQQ string) string
- func IRGetQQAge(QQ, objQQ string) int
- func IRGetQQList() string
- func IRGetQidianQQFriendList(QQ string) string
- func IRGetRInf(QQ string) string
- func IRGetShieldedState(QQ string, msgType int) bool
- func IRGetTimeStamp() int32
- func IRGetVer() string
- func IRGetVoiLink(QQ, voiceGuid string) string
- func IRGetWpa(QQ, objQQ string) bool
- func IRGetZonePsKey(QQ string) string
- func IRGiveGift(QQ, objGroup, objQQ, pid string) int
- func IRHandleFriendEvent(QQ, objQQ string, handleType int, addMsg string)
- func IRHandleGroupEvent(QQ string, reqType int, objQQ, objGroup, seq string, handleType int, ...)
- func IRIfFriend(QQ, objQQ string) bool
- func IRInviteDisGroup(QQ, disId, objQQ string) string
- func IRIsEnable() bool
- func IRIsOnline(QQ, objQQ string) bool
- func IRIsShutUp(QQ, objGroup, objQQ string) bool
- func IRJoinGroup(QQ, objGroup, reason string)
- func IRKickDisGroupMBR(QQ, disId, objQQ string) string
- func IRKickGroupMBR(QQ, objGroup, objQQ string, noMore bool)
- func IRLoginQQ(qq string)
- func IRNoAdminInviteGroup(QQ, objQQ, objGroup string)
- func IROffLineQQ(qq string)
- func IROutPutLog(msg string)
- func IRPBGroupNotice(QQ, objGroup, noticeTitle, noticeContent string) bool
- func IRPBHomeWork(QQ, objQQ, workName, workTitle, workContent string)
- func IRQuitDisGroup(QQ, disId string)
- func IRQuitGroup(QQ, objGroup string)
- func IRSendJson(QQ string, sendType, msgType int, objGroup, objQQ, objJson string)
- func IRSendMsg(QQ string, msgType int, objGroup, objQQ, msg string, bubId int)
- func IRSendPack(QQ, pack string) string
- func IRSendVoice(QQ, objQQ string, voice []byte) bool
- func IRSendXML(QQ string, sendType, msgType int, objGroup, objQQ, objMsg string, subType int)
- func IRSessionKey(QQ string) string
- func IRSetAdmin(QQ, objGroup, objQQ string, op bool) string
- func IRSetAnon(QQ, objGroup string, _switch bool) bool
- func IRSetDisGroupName(QQ, disId, disName string)
- func IRSetFriendsRemark(QQ, objQQ, remark string)
- func IRSetGroupCard(QQ, objGroup, objQQ, card string) bool
- func IRSetRInf(QQ string, qqType int, msg string)
- func IRSetShieldedGroup(QQ, objGroup string, _type bool)
- func IRShakeWindow(QQ, ObjQQ string) bool
- func IRShutUp(QQ, objGroup, objQQ string)
- func IRSignIn(QQ, objGroup, location, want2say string) bool
- func IRTakeGift(qq string) string
- func IRTeaDecry(msg, key string) string
- func IRTeaEncry(msg, key string) string
- func IRUpVote(QQ, objQQ string) string
- func IRUploadPic(QQ string, uploadType int, obj string, picData []byte) string
- func IRUploadVoice(QQ string, uploadType int, objGroup string, voice []byte) string
- func IRWithdrawMsg(QQ, objGroup, msgNum, msgId string) string
- func IR_Create() *C.char
- func IR_DestroyPlugin() C.int
- func IR_Event(QQ *C.char, MsgType, SubMsgType C.int, ...) C.int
- func IR_Message(QQ *C.char, MsgType C.int, RawMsg, Cookies, SessionKey, ClientKey *C.char) C.int
- func IR_SetUp()
- func IrGetEmail(QQ, objQQ string) string
- func IrGetPerExp(QQ, objQQ string) string
- func IrGetSign(QQ, objQQ string) string
Constants ¶
const ( MT_UNDEFINED = -1 + iota //未定义:-1 MT_ONLINETEMP //在线状态临时会话: 0 MT_FRIEND //好友:1 MT_GROUP //群消息:2 MT_DISGROUP //讨论组:3 MT_GROUPTP //群临时:4 MT_DISGROUPTP //讨论组临时:5 MT_TENPAY //财付通:6 MT_FRIENDVERIFY //好友验证回复会话:7 (Pro版可用) )
/常用消息类型
const ( MT_HE_AGREE = 10 + (iota * 10) //同意:10 MT_HE_REFUSE //拒绝:20 MT_HE_IGNORE //忽略:30 )
/处理事件HandleEvent
const ( MT_F_SINGLE = 100 + iota //被单项添加为好友: 100 MT_F_SBADDME //某人请求加为好友:101 MT_F_AGREEADDME //被同意加为好友:102 MT_F_IGNOREADDSB //被拒绝加为好友:103 MT_F_DELETED //被删除好友:104 MT_F_OFFLINE_FILE_RECEIVE //好友离线文件接收:105 MT_F_SIGNCHANGE //好友签名变更:106 )
/好友事件
const ( MT_G_SBQUITGROUP = 201 + iota //某人退出群:201 MT_G_ADMINkICKSB //某人被管理移除群:202 MT_G_SBISSHUTUP //对象被禁言:203 MT_G_SBREMOVESHUTUP //对象被解除禁言:204 MT_G_OPENALLGROUPSHUTUP //开启全群禁言:205 MT_G_CLOSEALLGROUPSHUTUP //关闭全群禁言:206 MT_G_OPENANONYMOUSCHAT //开启匿名聊天:207 MT_G_CLOSEANONYMOUTSCHAT //关闭匿名聊天:208 MT_G_NOTICEISCHANGE //群公告变动:209 MT_G_SBBECOMEADMIN //某人成为管理:210 MT_G_SBOUTGOINGADMIN //某人被取消管理:211 MT_G_SBAPPROVALGROUP //某人被批准加入了群:212 MT_G_SBWANTTOJOINGROUP //请求入群:213 MT_G_SBINVITATIONMEJOINGROUP //被邀请加入群:214 MT_G_SBINVITATIONSBJOINGROUP //某人被邀请加入群:215 MT_G_GROUPISDISSOLVE //某群被解散:216 MT_G_GROUPCARDCHANGE //群名片变动: 217 MT_G_GROUPFILE //群文件接收:218 )
/群事件
const ( MT_QQ_ADD = 1100 + iota //列表添加了新账号: 1100 (Pro可用) MT_QQ_LOGIN //QQ登录完成: 1101 MT_QQ_OFFLINEACT //QQ被手动离线: 1102 (Pro可用) MT_QQ_OFFLINEPAS //QQ被强制离线: 1103 (Pro可用) MT_QQ_DROPLINE //QQ掉线: 1104 (Pro可用) MT_QQ_2DCC //QQ二次数据缓存完成: 1105 (Pro可用) )
框架QQ
const ( SP_EF_NO = "0" //秀图无特效 SP_EF_SHAKE = "1" //秀图抖动特效 SP_EF_PHANTOM = "2" //秀图幻影特效 SP_EF_BIRTHDAY = "3" //秀图生日特效 SP_EF_LOVEU = "4" //秀图爱你特效 SP_EF_ADDFRIENDS = "5" //秀图征友特效 )
秀图 (Pro可用)
const ( MT_IGNORE = iota //忽略:0 MT_CONTINUE //继续:1 MT_INTERCEPT //拦截:2 )
/队列
const ( MT_P_LOAD = 12000 + iota //本插件载入:12000 MT_P_ENABLE //用户启用本插件:12001 MT_P_DISABLE //用户禁用本插件:12002 无权拒绝 MT_P_CLICKED //插件被点击: 12003 点击方式参考子类型. 1=左键单击 2=右键单击 )
/插件
const ( OT_ONLINE = 1 + iota //我在线上: 1 OT_QME //Q我把: 2 OT_LEAVE //离开: 3 OT_BUSY //忙碌: 4 OT_NODISTURB //请勿打扰: 5 OT_INVISIBLE //隐身: 6 )
在线状态
Variables ¶
var ( //插件名称 PluginName = "PluginName.IR" //插件版本 PluginVer = "1.0.0" //插件作者 PluginAuthor = "Author" //插件说明 PluginDesc = "description" // 以上4者可自行修改 //插件Skey PluginSkey = "8956RTEWDFG3216598WERDF3" //插件SDK PluginSDK = "S3" //以上两个变量请勿修改 OnRecover = false )
var IRCreate func() string
IRCreate 插件创建 框架启动时将调用此函数读取插件信息 如需自定义IR_Create函数, 请实现实现此函数IRCreate 请务必保证返回如下格式的字符串: "插件名称{%s}\n插件版本{%s}\n插件作者{%s}\n插件说明{%s}\n插件skey{%s}\n插件sdk{%s}" %s替换为对应内容 否则可能导致插件无法正常导入, 或导致框架无法正常运行
var IRDestroyPlugin func() int
IRDestroyPlugin 卸载插件 当插件被卸载时将会调用 @return int 返回非0成功 亦可不返回或为空
var IREvent func(qq string, msgType, subMsgType int, msgFrom, tigObjAct, tigObjPas, msg, msgNum, msgId, rawMsg, json string, ptrNext int) int
IREvent 处理事件, 消息 此函数会分发IRC_机器人QQ接收到的所有:事件,消息;您可在此函数中自行调用所有参数 如需自定义IR_Event函数, 请实现此函数IREvent @param qq string 响应QQ/机器人QQ 用于判定哪个QQ接收到该消息 @param msgType int 接收到消息类型,该类型可在常量表中查询具体定义,此处仅列举: -1 未定义事件 0,在线状态临时会话 1,好友信息 2,群信息 3,讨论组信息 4,群临时会话 5,讨论组临时会话 6,财付通转账 7,好友验证回复会话 @param subMsgType int 此参数在不同消息类型下,有不同的定义,暂定:接收财付通转账时 1为好友 4为群临时会话 5为讨论组临时会话 有人请求入群时,不良成员这里为1 @param msgFrom string 此消息的来源,如:群号、讨论组ID、临时会话QQ、好友QQ等 @param tigObjAct string 主动发送这条消息的QQ,踢人时为踢人管理员QQ @param tigObjPas string 被动触发的QQ,如某人被踢出群,则此参数为被踢出人QQ @param msg string 此参数有多重含义,常见为:对方发送的消息内容,但当IRC_消息类型为 某人申请入群,则为入群申请理由 @param msgNum string 消息序号 此参数暂定用于消息撤回 @param msgId string 消息id 此参数暂定用于消息撤回 @param rawMsg string UDP收到的原始信息,特殊情况下会返回JSON结构(入群事件时,这里为该事件seq) @param json string JSON格式转账解析 @param ptrNext int 此参数用于插件加载拒绝理由 用法:写到内存(“拒绝理由”,IRC_信息回传文本指针_Out)此注释从E语言中复制 @return int 正常情况下请返回常量 MT_CONTINUE 即返回1
var IRMessage func(qq string, msgType int, rawMsg, cookies, sessionKey, clientKey string) int
IRMessage 如需自定义IR_Message函数, 请实现此函数IRMessage (Pro版可用) @param qq string 响应QQ/机器人QQ 用于判定哪个QQ接收到该消息 @param msgType int UDP收到的原始信息 @param rawMsg string 经过Tea加密的原文 @param cookies string 用于登录网页所需cookies,如不确定用途请忽略 @param sessionKey string 通信包所用的加密秘钥 @param clientKey string 登录网页服务用的秘钥
var IRSetUp func()
IRSetUp 点击设置 如需自定义IR_SetUp函数, 请实现此函数IRSetUp 由于go语言对GUI编程不友好, 此函数暂未实现, 欢迎大佬参与完善
Functions ¶
func GetCurrPath ¶
GetCurrPath 获取当前程序路径 假设框架程序CleverQQ Air.exe运行在D:\CleverQQ, 则返回D:\CleverQQ
func IRGetDisGroupMemberList ¶
取出讨论组成员列表 (返回格式为 换行符分割开的)
func IRGetFriendsRemark ¶
取好友备注姓名(成功返回备注,失败或无备注返回空)Pro可用
func IRGetGroupAddMode ¶
查询对象群验证方式 1允许任何人 2需要验证消息 3不允许任何人加群 4需要正确回答问题 5需要回答问题并由管理员审核 6付费群 -1群号不存在(获取失败返回空)Pro版可用
func IRGetGroupAdmin ¶
取得群管理,返回获取到的原始JSON格式信息,需自行解析 测试通过
func IRGetGroupChatLv ¶
查询对象或自身群聊等级(返回实际等级 失败返回-1)Pro可用
func IRGetGroupListA ¶
取得群列表,#换行符分割 不受最高获取500群限制(如需获取群名称请对应调用 Api_GetGroupName 理论群名获取不会频繁) 测试通过
func IRGetGroupMemberList ¶
取得群成员列表,返回获取到的原始JSON格式信息,需自行解析(有群员昵称) 测试通过
func IRGetGroupMemberListB ¶
取得群成员列表,返回QQ号和身份Json格式信息 失败返回空(无群员昵称) 测试通过
func IRGetGroupMemberListC ¶
取得群成员列表,返回获取到的原始JSON格式信息,需自行解析(有群员昵称) 测试通过
func IRGetObjInfo ¶
获取对象资料 此方式为http,调用时应自行注意控制频率(成功返回JSON格式自行解析)
func IRGetOnlineState ¶
查询对象在线状态 返回 1、在线 2、Q我 3、离开 4、忙碌 5、勿扰 6、隐身或离线(Pro可用)
func IRGetPicLink ¶
根据图片GUID取得图片下载连接
func IRGetQQAddMode ¶
取对象好友添加验证方式 (00 允许任何人 01 需要身份验证 03 需回答正确问题 04 需回答问题 99 已经是好友) (Pro版可用)
func IRGetQidianQQFriendList ¶
取得企点QQ外部联系人好友列表 成功返回Json列表 失败返回空或理由 测试通过
func IRGetShieldedState ¶
获取机器人QQ是否被屏蔽消息发送状态(true屏蔽 false未屏蔽)
func IRHandleFriendEvent ¶
某人请求添加好友验证处理 .版本 2
.参数 QQ, 文本型, , 机器人QQ .参数 objQQ, 文本型, , 请求添加好友人QQ .参数 handleType, 整数型, , 10同意 20拒绝 30忽略 .参数 addMsg, 文本型, , 拒绝添加好友 附加信息
func IRHandleGroupEvent ¶
func IRHandleGroupEvent(QQ string, reqType int, objQQ, objGroup, seq string, handleType int, addMsg string)
某人请求入群 被邀请入群 等 群验证处理 .版本 2
.参数 QQ, 文本型, , 机器人QQ .参数 reqType, 整数型, , 213请求入群 214我被邀请加入某群 215某人被邀请加入群 .参数 objQQ, 文本型, , 申请入群、被邀请人的QQ (当请求类型为214时这里为邀请人QQ) .参数 objGroup, 文本型, , 收到请求群号 .参数 seq, 文本型, , 需要处理事件的seq ,这个参数在收到群事件时,IRC_原始信息会传递 .参数 handleType, 整数型, , 10同意 20拒绝 30忽略 .参数 addMsg, 文本型, , 拒绝入群附加信息
func IRInviteDisGroup ¶
邀请对象加入讨论组 成功返回空 失败返回理由
func IRIsShutUp ¶
查询对象或自己是否被禁言 禁言返回真 失败或未禁言返回假 测试通过
func IRKickDisGroupMBR ¶
将对象移除讨论组 成功返回空 失败返回理由
func IRNoAdminInviteGroup ¶
func IRNoAdminInviteGroup(QQ, objQQ, objGroup string)
非管理员邀请对象入群,频率过快会失败
func IRPBGroupNotice ¶
发布群公告(成功返回真,失败返回假),调用此API应保证响应QQ为管理员
func IRSendJson ¶
发送JSON结构消息
func IRSendMsg ¶
发送消息 @param QQ 机器人qq @param msgType 消息类型 0在线临时会话 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话 7好友验证回复会话(0、7只支持Pro版) @param objGroup 发送群信息、讨论组、群或讨论组临时会话信息时填写,如发送对象为好友或信息类型是0时可空 @param objQQ 收信对象QQ @param msg 内容 @param bubId 气泡 -1为随机气泡
func IRSendXML ¶
发送XML消息 @param QQ 机器人qq @param sendType 发送方式 1普通 2匿名(匿名需要群开启) @param msgType 消息类型 0在线临时会话 1好友 2群 3讨论组 4群临时会话 5讨论组临时会话 7好友验证回复会话(0、7只支持Pro版) @param objGroup 群号 发送群信息、讨论组、群或讨论组临时会话信息时填写,如发送对象为好友或信息类型是0时可空 @param objQQ 收信对象QQ @param objMsg XML内容 @param subType 结构子类型 0 基本 2 点歌
func IRSetAdmin ¶
设置或取消群管理员 成功返回空 失败返回理由
func IRSetGroupCard ¶
修改对象群名片 成功返回true 失败返回false
func IRUpVote ¶
点赞 调用一次点一下,成功返回空,失败返回理由如:每天最多给他点十个赞哦,调用此Api时应注意频率,每人每日可被赞10次,每日每Q最多可赞50人 @param QQ 机器人qq @param objQQ 被赞QQ
func IRUploadPic ¶
上传图片(通过读入字节集方式),可使用网页链接或本地读入,成功返回该图片GUID,失败返回空
func IRUploadVoice ¶
上传QQ语音,成功返回语音GUID 失败返回空
func IRWithdrawMsg ¶
消息撤回(成功返回空,失败返回腾讯给出的理由)(Pro版可用)
func IR_DestroyPlugin ¶
由于export需要, 此函数名为大写字母开头, 因此导致此函数可导出, 请勿直接调用此函数
func IR_Event ¶
func IR_Event(QQ *C.char, MsgType, SubMsgType C.int, MsgFrom, TigObjAct, TigObjPas, Msg, MsgNum, MsgId, RawMsg, Json *C.char, PtrNext C.int) C.int
IR_Event 此函数会分发IRC_机器人QQ接收到的所有:事件,消息;您可在此函数中自行调用所有参数 由于export需要, 此函数名为大写字母开头, 因此导致此函数可导出, 请勿直接调用此函数
func IR_Message ¶
IR_Message 此函数用于接收所有原始封包内容, 返回-1 已收到并拒绝处理 返回0 未收到并不处理 返回1 处理完且继续执行 返回2 处理完毕并不再让其他插件处理 (Pro版可用) 由于export需要, 此函数名为大写字母开头, 因此导致此函数可导出, 请勿直接调用此函数
Types ¶
This section is empty.