diff --git a/Api_GetUrl.lua b/Api_GetUrl.lua deleted file mode 100644 index 7dcc467..0000000 --- a/Api_GetUrl.lua +++ /dev/null @@ -1,161 +0,0 @@ -local http = require("http") -local json = require("json") -function GetUrl(data) - local index = GenRandInt(2, 3) - if index == 2 then - return GetBJHUrl(data) - end - if index == 3 then - return GetOPPOUrl(data) - end -end - -function GetYZFUrl(data) - local userid = string.format("kfh53e531627f2ee4c_h58708d8145940cae8269e42%d", os.time()) - local response, error_message = - http.request( - "POST", - string.format("https://yzf.qq.com/fsna/kf-file/upload_wx_media?_t=%d", os.time()), - { - multipart = { - ["userid"] = userid, - ["agentid"] = "", - ["media_type"] = "image", - ["mid"] = "fsna" - }, - file = { - ["file"] = "22.jpg", - ["body"] = data - } - } - ) - --log.info("%s ", response.body) - jsonData = json.decode(response.body) - if jsonData["code"] ~= 0 then - return nil - end - - return UrlDecode(jsonData["KfPicUrl"]) -end -function GetNiuUrl(data) - local response, error_message = http.request("GET", string.format("https://gocloudcoder.com:8081/upload")) - - jsonData = json.decode(response.body) - - if jsonData.token == nil then - return nil - end - local file_name = string.format("%s%s.jpg", os.time(), GenRandInt(11111, 999999999)) - local response, error_message = - http.request( - "POST", - "https://upload-z2.qiniup.com/", - { - multipart = { - ["token"] = jsonData.token, - ["key"] = file_name - }, - file = { - ["file"] = file_name, - ["body"] = data - } - } - ) - jsonData = json.decode(response.body) - if jsonData.key == nil then - return nil - end - return string.format("https://pic.gocloudcoder.com/%s", jsonData.key) -end -function GetVimCNUrl(data) - local response, error_message = - http.request( - "POST", - "https://img.vim-cn.com/", - { - multipart = {}, - file = { - ["image"] = "a.jpg", - ["body"] = data - } - } - ) - return response.body -end -function GetOPPOUrl(data) - local response, error_message = - http.request( - "POST", - "https://api.open.oppomobile.com/api/utility/upload", - { - multipart = { - ["type"] = "feedback" - }, - file = { - ["file"] = "file.jpg", - ["body"] = data - } - } - ) - --log.info("%s", response.body) - jsonData = json.decode(response.body) - if jsonData.errno ~= 0 then - return nil - end - return jsonData.data.url -end -function GetUploadCCUrl(data) - local response, error_message = - http.request( - "POST", - "https://mp.yidianzixun.com/upload?action=uploadimage", - { - multipart = {}, - file = { - ["upfile"] = "file.jpg", - ["body"] = data - } - } - ) - --log.info("%s", response.body) - jsonData = json.decode(response.body) - if jsonData.errno ~= 0 then - return nil - end - return jsonData.data.url -end -function GetBJHUrl(data) - response, error_message = - http.request( - "POST", - "https://baijiahao.baidu.com/builderinner/api/content/file/upload", - { - multipart = {}, - file = { - ["media"] = "22222.jpg", - ["body"] = data - } - } - ) - jsonData = json.decode(response.body) - if jsonData.errno ~= 0 then - return nil - end - return jsonData.ret.https_url -end -function UrlDecode(s) - s = - string.gsub( - s, - "%%(%x%x)", - function(h) - return string.char(tonumber(h, 16)) - end - ) - return s -end -function GenRandInt(x, y) - math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 6))) - num = math.random(x, y) - return num -end diff --git a/ENV.json b/ENV.json deleted file mode 100644 index 225894c..0000000 --- a/ENV.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "version": 6, - "environments": [ - { - "id": "dc29eca9-16a3-43fa-b957-9fbe2e4d6411", - "name": "test1", - "variables": { - "8ade9dec-19a6-40ef-b71d-bcabda0dce60": { - "createdAt": "2020-06-22T22:17:47.393+08:00", - "name": "host", - "value": "http://192.168.3.225:8888", - "enabled": true, - "private": false - }, - "19613fe2-4e5e-4b79-b681-ab6453720641": { - "createdAt": "2020-06-22T22:18:07.966+08:00", - "name": "", - "value": "", - "enabled": true, - "private": false - }, - "fb183730-6320-4dfc-8798-545c4bab9039": { - "createdAt": "2020-06-22T22:18:07.966+08:00", - "name": "CurrentQQ", - "value": "211995046", - "enabled": true, - "private": false - } - } - } - ] -} diff --git a/GamesDemo.lua b/GamesDemo.lua deleted file mode 100644 index ac2b5bf..0000000 --- a/GamesDemo.lua +++ /dev/null @@ -1,1509 +0,0 @@ -local log = require("log") -local json = require("json") -local Api = require("coreApi") -local http = require("http") -local mysql = require("mysql") - ---[[ - - 在数据库中建立2个表 -CREATE TABLE `invites_info` ( - `ID` bigint(20) NOT NULL AUTO_INCREMENT, - `Gid` varchar(50) DEFAULT NULL COMMENT '群ID', - `GidName` varchar(100) DEFAULT NULL COMMENT '群昵称', - `InviteUid` varchar(50) DEFAULT NULL COMMENT '邀请人ID', - `InviteNick` varchar(100) DEFAULT NULL COMMENT '邀请人昵称', - `MemberUid` varchar(50) DEFAULT NULL COMMENT '被邀请人ID', - `MemberNick` varchar(100) DEFAULT NULL COMMENT '被邀请人ID', - `InviteTime` int(11) DEFAULT NULL COMMENT '邀请进群时间', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4; - - -CREATE TABLE `users_info` ( - `ID` int(11) NOT NULL AUTO_INCREMENT, - `Uid` varchar(50) DEFAULT NULL COMMENT '用户ID', - `Gid` varchar(50) DEFAULT NULL COMMENT '所在群组', - `OpCode` int(11) DEFAULT NULL COMMENT '签到分数', - `SignTime` int(11) DEFAULT NULL COMMENT '签到时间', - `RealDays` int(11) DEFAULT NULL COMMENT '连续签到', - `SignDays` int(11) DEFAULT NULL COMMENT '累计签到', - `Balance` int(11) DEFAULT NULL COMMENT '余额', - `DiceTime` int(11) DEFAULT NULL COMMENT '骰子游戏时间', - `CreateTime` int(11) DEFAULT NULL COMMENT '入库时间', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4; - - -CREATE TABLE `games_info` ( - `ID` int(11) NOT NULL AUTO_INCREMENT, - `Uid` varchar(50) DEFAULT NULL COMMENT '用户ID', - `Gid` varchar(50) DEFAULT NULL COMMENT '所在群组', - `IsIn` tinyint(1) DEFAULT NULL COMMENT '是否入狱', - `InTime` int(11) DEFAULT NULL COMMENT '入狱时间', - `IsInHp` tinyint(1) DEFAULT NULL COMMENT '是否在医院', - `HpTime` int(11) DEFAULT NULL COMMENT '在医院时间', - `BoxCount` int(11) DEFAULT NULL COMMENT '宝箱个数', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4; -]] -MYSQL_IP = "127.0.0.1" -MYSQL_PORT = 3306 -function ReceiveWeChatMsg(CurrentWxid, data) - if data.FromUserName == CurrentWxid then - ToUserName = data.ToUserName - else - ToUserName = data.FromUserName - end - - if string.find(data.Content, "娇喘") or string.find(data.Content, "唱歌") then - math.randomseed(os.time()) - num = math.random(1, 19) - - keyWord = data.Content:gsub("娇喘", "") - file = string.format("./Voice/%d.silk", num) - Api.SendVoice( - CurrentWxid, - { - ToUserName = ToUserName, - VoicePath = file - } - ) - return 1 - end - - wxid = "" - if string.find(ToUserName, "@chatroom") then - wxid = data.ActionUserName - if wxid == "" then - wxid = data.FromUserName - end - else - wxid = data.FromUserName - end - if data.Content == "帮助" then - XmlStr = - string.format( - '<![CDATA[[天啊]RST娱乐机器人[天啊]\n[Emm]指令如下[Emm]\n[旺柴]签到----每日签到🉐️积分\n[旺柴]信息----查询用户积分\n[旺柴]启用----群里启用\n[旺柴]停用----群里停用\n[旺柴]出狱----刑满释放\n[旺柴]出院----康复出院\n[旺柴]越狱----尝试越狱\n[旺柴]打劫@好友----打劫群友\n[旺柴]劫狱@好友----解救狱中好友\n[旺柴]保释@好友----保释入狱群友\n[机智]拉人进群都会🈶️积分奖励的哟\n[红包]提现----100:1/ 10积分就可以兑换\n]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - if data.Content == "启用" then - GetUserNick(CurrentWxid, data) - if CheckAdmin(wxid) == nil then - XmlStr = - string.format( - '<![CDATA[@%s\n😯您不是管理员,无权操作😯]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - SetChatRoom(ToUserName) - XmlStr = - string.format( - '<![CDATA[@%s\n😯启用成功😯]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - if data.Content == "停用" then - GetUserNick(CurrentWxid, data) - --SetChatRoom(ToUserName) - if CheckAdmin(wxid) == nil then - XmlStr = - string.format( - '<![CDATA[@%s\n😯您不是管理员,无权操作😯]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - file = string.format("./Plugins/Games/%s.dat", ToUserName) - os.remove(file) - XmlStr = - string.format( - '<![CDATA[@%s\n😂停用成功😂]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - if GetChatRoom(ToUserName) == nil then - return 1 - end - if data.Content == "签到" then - GetConn() - Sign(CurrentWxid, data) - c.close(c) - return 1 - end - if data.Content == "提现" then - GetConn() - TiXian(CurrentWxid, data) - c.close(c) - return 1 - end - if data.Content == "信息" then - GetConn() - XinXi(CurrentWxid, data) - c.close(c) - return 1 - end - if data.Content == "出院" then - GetConn() - OutHP(CurrentWxid, data) - c.close(c) - return 1 - end - if data.Content == "出狱" then - GetConn() - OutCY(CurrentWxid, data) - c.close(c) - return 1 - end - if data.Content == "越狱" then - GetConn() - OutYY(CurrentWxid, data) - c.close(c) - return 1 - end - if data.Content == "积分排行" then - GetConn() - c.close(c) - return 1 - end - if string.find(data.Content, "打劫") then - GetConn() - DaJie(CurrentWxid, data) - c.close(c) - return 1 - end - if string.find(data.Content, "劫狱") then - GetConn() - InJY(CurrentWxid, data) - c.close(c) - return 1 - end - if string.find(data.Content, "保释") then - GetConn() - OutBS(CurrentWxid, data) - c.close(c) - return 1 - end - if string.find(data.Content, "转账") then - GetConn() - c.close(c) - return 1 - end - - ParseShiPin(CurrentWxid, data) - return 1 -end -function GetUserNick(CurrentWxid, data) - Nick = data.ActionNickName - if Nick == "" then - UserTable = - Api.GetContact( - CurrentWxid, - { - ChatroomID = ToUserName, - Wxid = {wxid} - } - ) - if UserTable ~= nil then - Nick = UserTable[1].NickName - end - end -end -function GetWxidNick(CurrentWxid, UserID) - User_Table = - Api.GetContact( - CurrentWxid, - { - ChatroomID = ToUserName, - Wxid = {UserID} - } - ) - if User_Table ~= nil then - return User_Table[1].NickName - end - return "" -end -function SendJiXi(CurrentWxid, ToUserName, OpCode) - xmlStr = - string.format( - '%s集剩余积分%d40000305c0201000450304e02010002044e38148202032f4f5502045972512a02045f7b3d8b0429777875706c6f61645f777869645f74366f723332343234676174323231365f313630313931323230330204010400030201000405004c52ad0008a3e35b7973326e297e56a09213cd5a3669135135766d879a4e598be7f2d629bfc4452aed766d879a4e598be7f2d629bfc4452aed0wxid_p503caafko2f12297_1601995606GhQKEnd4Y2E5NDJiYmZmMjJlMGU1MQ==0', - appid, - title, - OpCode, - string.format("https://vip.66parse.club/?url=%s", url) - ) - --log.error("urlurl %s", xmlStr) - --log.error("CurrentWxid %s", CurrentWxid) - --log.error("ToUserName %s", ToUserName) - --https://jiexi.q-q.wang/?url= - --https://jx.ljtv365.com/?url= guanggao - --https://jx.baikeclub.com/?url= - --https://vip.66parse.club/?url= - --https://jx.618g.com/ - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 49, Content = XmlStr}) -end - -function ReceiveWeChatEvents(CurrentWxid, data) - if data.EventName == "ON_EVENT_FRIEND_REQ" then - baseResonse, wxid = - Api.VerifyUser( - CurrentWxid, - { - VerifyType = 3, --同意好友请求 - V1Username = "", - V2Ticket = "", - Content = "", - Sence = 0, - XmlStr = data.Content --会自动解析xml里的参数 - } - ) - str = - string.format("baseResonse.Ret %d baseResonse.ErrMsg %s Wxid %s", baseResonse.Ret, baseResonse.ErrMsg, wxid) - log.notice("From ReceiveWeChatEvents Log\n%s", str) - end - if data.EventName == "ON_EVENT_CHATROOM_INVITE" then - if CurrentWxid == data.FromUserName then - return 1 - end - Url = data.Content:match([[]]) - if Url == nil then - Url = data.Content:match([[(.+)<![CDATA[ @%s\n[哇]邀请好友进群获🉐️积分10/人\n[哇]剩余积分:%d\n(新人请回复帮助试试吧~)\n还有[红包]奖励嗷]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - data.InviteNickName, - OpCode + 10 - ) - --Api.SendAppMsg(CurrentWxid, data.FromUserName, 57, XmlStr) - Api.SendAppMsg(CurrentWxid, {ToUserName = data.FromUserName, MsgType = 57, Content = XmlStr}) - end - hourNow = os.date("%H", os.time()) - - if hourNow > 18 or hourNow < 9 then - XmlStr = - string.format( - '<![CDATA[@%s\n该时段已经暂停提现业务\n🈺️业时间早9点-晚18点]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - - if err == nil then - end - end - end - return 1 -end -function ParseShiPin(CurrentWxid, data) - bFlag = false - - if string.find(data.Content, "wxa75efa648b60994b") then - bFlag = true - end - if string.find(data.Content, "wxcd10170e55a1f55d") then - bFlag = true - end - if string.find(data.Content, "wxd09e2d4fceafe6e3") then - bFlag = true - end - if string.find(data.Content, "wx5de0c309a1472da6") then - bFlag = true - end - - if data.MsgType == 49 and bFlag then - --Sleep(sTime) - GetUserNick(CurrentWxid, data) - GetConn() - - appid = data.Content:match([[]]) - - if appid == nil then - appid = data.Content:match([[(.+)]]) - end - title = data.Content:match([[<!%[CDATA%[(.+)%]%]>]]) - if title == nil then - title = data.Content:match([[(.+)集]]) - end - if title == nil then - title = data.Content:match([[(.+)话]]) - end - url = data.Content:match([[]]) - if url == nil then - url = data.Content:match([[(.+)]]) - end - - --log.error("url %s", url) - if appid == "wxa75efa648b60994b" then --腾讯视频 - appid = "wxca942bbff22e0e51" - if string.find(url, "m.v.qq.com") then - else - vid = data.Content:match("vid=(.+)%]%]>") - - url = string.format("https://v.qq.com/x/page/%s.html", vid) - end - end - if appid == "wxcd10170e55a1f55d" then --爱奇艺视频 - appid = "wx2fab8a9063c8c6d0" - end - if appid == "wx5de0c309a1472da6" then --优酷 - appid = "wx2fab8a9063c8c6d0" - --https://v.youku.com/v_show/id_XNDU0Mjc0NjA0MA%3D%3D.html? - if string.find(url, "v.youku.com") then - else - id = data.Content:match("videoId=(.+)&picUrl=") - url = string.format("https://v.youku.com/v_show/id_%s.html", id) - end - end - - if appid == "wxd09e2d4fceafe6e3" then --芒果视频 - appid = "wxbbc6e0adf8944632" - if string.find(url, "m.mgtv.com") then - else - --log.error("url %s", url) - -- - id = data.Content:match("player.html%?id=(.+)%]%]>") - - url = string.format("https://www.mgtv.com/b/340679/%s.html", id) - end - end - - if ok then - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], wxid, ToUserName) - res, err = c:query(sqlstr) - if #res == 0 then --说明不存在记录 - sqlstr = - string.format( - [[INSERT INTO users_info (Uid,Gid,OpCode,SignTime,RealDays,SignDays,Balance,DiceTime,CreateTime)VALUES ("%s","%s",%d,%d,%d,%d,%d,0,%d)]], - wxid, - ToUserName, - 12, - os.time(), - 1, - 1, - 0, - os.time() - ) - c:query(sqlstr) --插入邀请信息 - GetUserNick(CurrentWxid, data) - XmlStr = - string.format( - '<![CDATA[@%s\n首次开户成功获得积分10点]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - Sleep(1) - end - - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], wxid, ToUserName) - res, err = c:query(sqlstr) --判断一下被邀请人是否存在 不存在则发红包奖励 排除重复进群退群 - OpCode = tonumber(res[1].OpCode) - if OpCode > 0 then - --log.error("url2 %s", url) - OpCode = OpCode - 2 --每次解析-2分 - SendJiXi(CurrentWxid, ToUserName, OpCode) - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - OpCode, - wxid, - ToUserName - ) - c:query(sqlstr) - else --积分不足 - log.error("url3 %s", url) - XmlStr = - string.format( - '<![CDATA[@%s\n积分不足请做任务\n1⃣️ 每日签到获🉐️积分2-8/天\n2⃣️ 邀请好友进群获🉐️积分10/人]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - end - c.close(c) - end - end -end ---检测是否入狱 -function GetSQLGame(checkWxid) - sqlstr = string.format([[select * from games_info where `Uid`= "%s" and `Gid`="%s"]], checkWxid, ToUserName) - res, err = c:query(sqlstr) --存在 - if #res ~= 0 then - return res - end - return nil -end ---越狱 -function OutYY(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - resSQL = GetSQLGame(wxid) --发消息者 - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then - if tonumber(resSQL[1].InTime) - os.time() >= 0 then - maybe = GenRandInt(1, 100) - --local fdNick = GetWxidNick(CurrentWxid, atuserlist) - --print(maybe) - if 10 < maybe and maybe <= 20 then --入狱 - local MyINTipsStr = { - "@%s\n[社会社会]哇塞竟然金刚🐺附体了,一破冲天,成功逃离💨了监狱", - "@%s\n[旺柴]辛辛苦苦挖了好半天🕳️地洞弄🉐️自己满头大汉,差点被👮发现吓得尿了裤子爬出洞来,成功逃离了监狱全靠一股仙气儿", - "@%s\n[哇]可能是越狱电影看多了,竟然凭着运气逃离了出来[耶]" - } - local str = string.format(MyINTipsStr[GenRandInt(1, 3)], Nick) - XmlStr = - string.format( - '<![CDATA[@%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsIn` = %d ,`InTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 0, - 0, - wxid, - ToUserName - ) - c:query(sqlstr) - return 1 - end - - if tonumber(resSQL[1].InTime) - os.time() > 7200 * 3 then - XmlStr = - string.format( - '<![CDATA[@%s\n[打脸][打脸]被拉入越狱黑名单[打脸][打脸]\n[打脸][打脸]运气太差3次都没成功[打脸][打脸]\n[打脸][打脸]剩余时间:%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick, - SubUnix(tonumber(resSQL[1].InTime), os.time()) - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - - sqlstr = - string.format( - [[UPDATE `games_info` SET `InTime` = InTime+ %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 7200, - wxid, - ToUserName - ) - c:query(sqlstr) - - XmlStr = - string.format( - '<![CDATA[@%s\n[打脸]越狱失败,被巡逻👮一顿电炮罪加一等,剩余时间:%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick, - SubUnix(tonumber(resSQL[1].InTime) + 7200, os.time()) - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - end - XmlStr = - string.format( - '<![CDATA[@%s\n你不在监狱里啊?[捂脸]越狱是什么能吃吗?[吃瓜]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - XmlStr = - string.format( - '<![CDATA[@%s\n[惊讶]怎么你想上演越狱电影🎬吗,去去去这不适合你[再见]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 -end ---保释 -function OutBS(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - local atuserlist = data.MsgSource:match([[]]) - if atuserlist == nil then - atuserlist = data.MsgSource:match([[(.+)]]) - end - local resSQL = GetSQLGame(wxid) --发消息者 - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then --自己在监狱不能保释别人 - XmlStr = - string.format( - '<![CDATA[@%s\n💔自身都难保还想保释别人?[旺柴]老实在监狱里给我待着吧]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - if tonumber(resSQL[1].IsInHp) == 1 then --自己在医院不能保释别人 - XmlStr = - string.format( - '<![CDATA[@%s\n💔在医院里的人都有妄想症?真是体残+智残+脑残还是先保自己吧[机智]\n[旺柴]老实在医院里给我好好养病吧!真是病都不轻]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - end - - local resSQL = GetSQLGame(atuserlist) --获取好友 - - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then --好友在监狱 可以保释 - local myCode = GetSQLCode(wxid) - if myCode == nil then --黑户 - XmlStr = - string.format( - '<![CDATA[@%s\n💔你竟然是本群的黑户💔\n😭快回复签到试试😭]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - return 1 - end - OpCode = tonumber(myCode[1].OpCode) - --查询一下自己的积分 - if tonumber(resSQL[1].InTime) - os.time() > 7200 * 3 then --保费50 - if OpCode < 50 then - XmlStr = - string.format( - '<![CDATA[@%s\n😭你的积分不足50啊😭\n💔想从越狱黑名单里捞人可不是一件容易的事💔]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - - XmlStr = - string.format( - '<![CDATA[@%s\n[社会社会][社会社会]花费了巨额保费50保出了此人,可见二人关系不一样般[Emm]都说三对情侣两对基]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - --扣出自己积分 - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` = OpCode - 50 WHERE `Uid` = "%s" and `Gid`="%s"]], - wxid, - ToUserName - ) - c:query(sqlstr) - --设置对方正常状态 - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsIn` = %d ,`InTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 0, - 0, - atuserlist, - ToUserName - ) - c:query(sqlstr) - return 1 - end - --保费30 - - if OpCode < 30 then - XmlStr = - string.format( - '<![CDATA[@%s\n😭你的积分不足30啊😭\n💔穷光蛋还想做慈善家💔\n[机智]我看你是勇气可家吧[机智]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - - XmlStr = - string.format( - '<![CDATA[@%s\n[加油]花费了30积分保释了对方、乐于助人也无常不是好事,希望他出狱后做个良好市民[机智]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - --扣出自己积分 - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` = OpCode - 30 WHERE `Uid` = "%s" and `Gid`="%s"]], - wxid, - ToUserName - ) - c:query(sqlstr) - --设置对方正常状态 - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsIn` = %d ,`InTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 0, - 0, - atuserlist, - ToUserName - ) - c:query(sqlstr) - - return 1 - end - - --好友不在监狱 - XmlStr = - string.format( - '<![CDATA[@%s\n你要被保释的对象不在监狱里,他早就改过自新了[拳头],某人一定会铭记在❤️]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - XmlStr = - string.format( - '<![CDATA[@%s\n你要被保释的对象没有任何违规记录,已经被评选为本群的三好市民[好的]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 -end ---劫狱 -function InJY(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - local atuserlist = data.MsgSource:match([[]]) - if atuserlist == nil then - atuserlist = data.MsgSource:match([[(.+)]]) - end - local resSQL = GetSQLGame(wxid) --发消息者 - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then --自己在监狱 不能劫狱 - XmlStr = - string.format( - '<![CDATA[@%s\n[机智]还想在监狱里劫狱?[打脸]这是要造反吗[打脸]谁给你勇气]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - end - - local resSQL = GetSQLGame(atuserlist) - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then --对方在监狱 可以劫狱 - maybe = GenRandInt(1, 100) - - if 50 < maybe and maybe <= 80 then --自己进了监狱 - XmlStr = - string.format( - '<![CDATA[@%s\n万万没想到劫狱被发现了👀,把自己搞进去了,二人在狱里团聚了😄\n刑期:%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick, - SubUnix(os.time() + 7200, os.time()) - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsIn` = %d ,`InTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 1, - os.time() + 7200, - wxid, - ToUserName - ) - c:query(sqlstr) - return 1 - end - - if maybe < 30 then --劫狱成功 - XmlStr = - string.format( - '<![CDATA[@%s\n真是人品大爆发💥,竟然劫狱成功了,顺利将好友解救出来[耶]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsIn` = %d ,`InTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 0, - 0, - atuserlist, - ToUserName - ) - c:query(sqlstr) - return 1 - end - if maybe > 80 then --劫狱没成功 - XmlStr = - string.format( - '<![CDATA[@%s\n[衰]好像什么都没发生一样,尽管没劫狱成功,自己却躲了一劫[汗]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - end - - return 1 - end - XmlStr = - string.format( - '<![CDATA[@%s\n你要被劫狱的对象不在监狱里,他早就改过自新了[拳头],某人一定会铭记在❤️]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - - XmlStr = - string.format( - '<![CDATA[@%s\n这么想劫狱啊[捂脸]动作电影看多了吧]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - - return 1 -end - ---出狱 -function OutCY(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - resSQL = GetSQLGame(wxid) --发消息者 - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then - if tonumber(resSQL[1].InTime) - os.time() >= 0 then - XmlStr = - string.format( - '<![CDATA[@%s\n[打脸]正在监狱服役中,🈲️止任何娱乐活动,剩余时间:%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick, - SubUnix(tonumber(resSQL[1].InTime), os.time()) - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsIn` = %d ,`InTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 0, - 0, - wxid, - ToUserName - ) - c:query(sqlstr) - - XmlStr = - string.format( - '<![CDATA[@%s\n❤️出狱成功,[机智]老老实实做个良好市民吧[加油]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - XmlStr = - string.format( - '<![CDATA[@%s\n你不在监狱里啊?[捂脸]这是来探亲来了吗]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - XmlStr = - string.format( - '<![CDATA[@%s\n没有任何违规记录,有望评选本群的三好市民[拳头]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 -end ---出院 -function OutHP(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - resSQL = GetSQLGame(wxid) --发消息者 - if resSQL ~= nil then - if tonumber(resSQL[1].IsInHp) == 1 then - if tonumber(resSQL[1].HpTime) - os.time() >= 0 then - XmlStr = - string.format( - '<![CDATA[@%s\n[打脸]正在医院康复中,禁止多人游戏等👥运动,剩余时间:%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick, - SubUnix(tonumber(resSQL[1].HpTime), os.time()) - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsInHp` = %d ,`HpTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 0, - 0, - wxid, - ToUserName - ) - c:query(sqlstr) - - XmlStr = - string.format( - '<![CDATA[@%s\n❤️出院成功,下次做什么事都要认真点避免意外伤害😯]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - XmlStr = - string.format( - '<![CDATA[@%s\n早就痊愈出院了,😯,没事来医院瞎溜达什么?]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - XmlStr = - string.format( - '<![CDATA[@%s\n精神病院😯还没有你这位病号啊?去去去,一边去[捂脸]]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 -end ---获取用户积分等信息 -function GetSQLCode(checkWxid) - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], checkWxid, ToUserName) - res, err = c:query(sqlstr) --存在 - if #res ~= 0 then - return res - end -- 不存在 - return nil -end - -function CheckGame(CurrentWxid, data) - local atuserlist = data.MsgSource:match([[]]) - if atuserlist == nil then - atuserlist = data.MsgSource:match([[(.+)]]) - end - - GetUserNick(CurrentWxid, data) - - local resUser = GetSQLCode(wxid) - - if resUser == nil then - XmlStr = - string.format( - '<![CDATA[@%s\n💔你竟然是本群的黑户💔\n😭快回复签到试试😭]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - local resUser = GetSQLCode(atuserlist) - - if resUser == nil then - XmlStr = - string.format( - '<![CDATA[@%s\n💔对方是个黑户快去召唤小伙伴加入游戏把让小伙伴回复签到哦😭]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - - resSQL = GetSQLGame(wxid) --获取自己 - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then --自己在监狱 - local MyINTipsStr = { - "@%s\n👋在监狱里还想打劫?都泥菩萨过江自身难保了,劫你妹的劫😭\n预计出狱🕐:%s\n剩余时间:%s\n提示:\n越狱----尝试越狱", - "@%s\n在里不知悔改,还想一错再错。在犯错就要进入1⃣️8⃣️层监狱了[机智]\n预计出狱:%s\n剩余时间:%s\n提示:\n越狱----尝试越狱" - } - local str = - string.format( - MyINTipsStr[GenRandInt(1, 2)], - Nick, - FormatUnixTime2Date(tonumber(resSQL[1].InTime)), - SubUnix(tonumber(resSQL[1].InTime), os.time()) - ) - XmlStr = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - if tonumber(resSQL[1].IsInHp) == 1 then --自己在医院 - local MyINTipsStr = { - "@%s\n👋光天化日之下还想在医院里打劫,真是脑残至极,该吃💊了,随手吃了2粒脑残片冷静了一会😄\n预计出院时间:%s\n剩余时间:%s\n提示:\n出院----到时间出院", - "@%s\n在医院里不珍惜护士小姐姐,还想打劫[打脸][打脸]等病好了再说吧。\n预计出院时间:%s\n剩余时间:%s\n提示:\n出院----到时间出院" - } - local str = - string.format( - MyINTipsStr[GenRandInt(1, 2)], - Nick, - FormatUnixTime2Date(tonumber(resSQL[1].HpTime)), - SubUnix(tonumber(resSQL[1].HpTime), os.time()) - ) - XmlStr = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - end - --Nick = GetWxidNick(CurrentWxid, atuserlist) - local resSQL = GetSQLGame(atuserlist) --获取好友 - - if resSQL ~= nil then - if tonumber(resSQL[1].IsIn) == 1 then --好友在监狱 - local MyINTipsStr = { - "@%s\n⚡️对方已经在监狱里了,难道你想在监狱里打劫?💥你先入狱再说吧\n对方预计出狱时间:%s\n剩余时间:%s\n提示:\n劫狱@好友----尝试解救好友\n保释@好友----花费30保费", - "@%s\n对方已经在监狱里了,你也想进监狱陪他吗😄\n对方预计出狱时间:%s\n剩余时间:%s\n提示:\n劫狱@好友----尝试解救好友\n保释@好友----花费30保费", - "[社会社会]对方@%s正在监狱里劳改[衰],请不要打扰人家\n对方预计出狱时间:%s\n剩余时间:%s\n提示:\n劫狱@好友----尝试解救好友\n保释@好友----花费30保费" - } - local str = - string.format( - MyINTipsStr[GenRandInt(1, 3)], - Nick, - FormatUnixTime2Date(tonumber(resSQL[1].InTime)), - SubUnix(tonumber(resSQL[1].InTime), os.time()) - ) - XmlStr = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - - return 1 - end - if tonumber(resSQL[1].IsInHp) == 1 then --好友在医院 - local MyINTipsStr = { - "@%s\n你的好友正被医院里的护士小姐姐[色]抢救中\n对方预计苏醒时间:%s\n剩余时间:%s", - "@%s\n你的好友自从进了医院,精神越来越不正常[捂脸],吃了一粒安眠药还在休眠中[发抖]\n对方预计出院时间:%s\n剩余时间:%s\n提示:\n出院----尝试出院", - "@%s\n[社会社会]对方正在医院很享受,请不要打扰人家\n对方预计出院时间:%s\n剩余时间:%s\n提示:\n出院----尝试出院" - } - local str = - string.format( - MyINTipsStr[GenRandInt(1, 3)], - Nick, - FormatUnixTime2Date(tonumber(resSQL[1].HpTime)), - SubUnix(tonumber(resSQL[1].HpTime), os.time()) - ) - XmlStr = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - end - - return 0 -end - -function DaJie(CurrentWxid, data) - if CheckGame(CurrentWxid, data) ~= 0 then - return 1 - end - - local atuserlist = data.MsgSource:match([[]]) - if atuserlist == nil then - atuserlist = data.MsgSource:match([[(.+)]]) - end - - maybe = GenRandInt(1, 100) - --local fdNick = GetWxidNick(CurrentWxid, atuserlist) - if maybe < 90 and maybe >= 80 then --入狱 - local MyINTipsStr = { - "[炸弹]头戴丝袜的@%s的他正准备打劫[菜刀],碰巧遇到了👮,警察说兄弟你的丝袜没扣洞啊。。\n入狱时间:%s\n出狱时间:%s\n提示:\n出狱----刑期已满", - "@%s打劫没打成,反而被对方举报了,[心碎]并成功送进去了监狱\n入狱时间:%s\n出狱时间:%s\n提示:\n出狱----刑期已满" - } - local str = - string.format( - MyINTipsStr[GenRandInt(1, 2)], - Nick, - FormatUnixTime2Date(os.time()), - SubUnix(os.time() + 7200, os.time()) - ) - XmlStr = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - local sqldata = GetSQLGame(wxid) - if sqldata == nil then --插入 - sqlstr = - string.format( - [[INSERT INTO `games_info` (Uid,Gid,IsIn,InTime,IsInHp,HpTime,BoxCount)VALUES ("%s","%s",%d,%d,%d,%d,%d)]], - wxid, - ToUserName, - 1, - os.time() + 7200, - 0, - 0, - 0 - ) - else -- 更新 - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsIn` = %d ,`InTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 1, - os.time() + 7200, - wxid, - ToUserName - ) - end - c:query(sqlstr) - return 1 - end - - maybe = GenRandInt(1, 100) - if maybe <= 50 and maybe >= 40 then --入院 - local MyINTipsStr = { - "@%s一不留神,踩到个对方仍的🍌皮,滑倒摔伤进了🏥\n入院时间:%s\n出院时间:%s\n提示:\n出院----身体已康复", - "@%s头戴丝袜,刚出门没走几步,掉进了正在🚧施工的马虎路,把大门牙磕掉了重度摔伤[捂脸],进入了医院进行抢救\n入院时间:%s\n出院时间:%s\n提示:\n出院----身体已康复" - } - local str = - string.format( - MyINTipsStr[GenRandInt(1, 2)], - Nick, - FormatUnixTime2Date(os.time()), - SubUnix(os.time() + 7200, os.time()) - ) - XmlStr = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - local sqldata = GetSQLGame(wxid) - if sqldata == nil then --插入自己信息 - sqlstr = - string.format( - [[INSERT INTO `games_info` (Uid,Gid,IsIn,InTime,IsInHp,HpTime,BoxCount)VALUES ("%s","%s",%d,%d,%d,%d,%d)]], - wxid, - ToUserName, - 0, - 0, - 1, - os.time() + 7200, - 0 - ) - else -- 更新 - sqlstr = - string.format( - [[UPDATE `games_info` SET `IsInHp` = %d ,`HpTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - 1, - os.time() + 7200, - wxid, - ToUserName - ) - end - c:query(sqlstr) - return 1 - end - local code = GenRandInt(10, 30) - local MyINTipsStr = { - "@%s仿佛上演了电影的那一幕[吃瓜],竟然打劫成功了,从对方劫走了%d点积分", - "[机智]@%s真是幸运的一天,成功躲过了巡逻的👮,成功🉐️到%d积分[耶]", - "@%s[Emm][Emm]对方是个穷光蛋,兜里一分💰都没有,自己却施舍了-%d点积分" - } - str = string.format(MyINTipsStr[GenRandInt(1, 3)], Nick, code) - XmlStr = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - str - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - - if string.find(str, "穷光蛋") then - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` = OpCode-%d WHERE `Uid` = "%s" and `Gid`="%s"]], - code, - wxid, - ToUserName - ) - c:query(sqlstr) - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` =OpCode+ %d WHERE `Uid` = "%s" and `Gid`="%s"]], - code, - atuserlist, - ToUserName - ) - c:query(sqlstr) - local str = string.format("wxid %s userlist %s", wxid, atuserlist) - log.error("%s", str) - return 0 - end - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` =OpCode+ %d WHERE `Uid` = "%s" and `Gid`="%s"]], - code, - wxid, - ToUserName - ) - c:query(sqlstr) - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` =OpCode- %d WHERE `Uid` = "%s" and `Gid`="%s"]], - code, - atuserlist, - ToUserName - ) - c:query(sqlstr) - return 0 -end -function XinXi(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], wxid, ToUserName) - res, err = c:query(sqlstr) --存在 - if #res ~= 0 then - XmlStr = - string.format( - '<![CDATA[@%s\n😜查询成功😜\n🍺剩余积分:%s\n☑️连续签到:%d天\n☑️累计签到:%d天\n✔️上次签到时间:%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick, - res[1].OpCode, - res[1].RealDays, - res[1].SignDays, - FormatUnixTime2Date(tonumber(res[1].SignTime)) - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - - return - else -- 不存在 - XmlStr = - string.format( - '<![CDATA[@%s\n💔你还没有记录哦💔\n😭快回复签到试试😭]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - end -end -function TiXian(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - - hourNow = tonumber(os.date("%H", os.time())) - - if hourNow > 18 or hourNow < 9 then - XmlStr = - string.format( - '<![CDATA[@%s\n该时段已经暂停提现业务\n🈺️业时间早9点-晚18点]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return 1 - end - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], wxid, ToUserName) - res, err = c:query(sqlstr) --存在 - if #res ~= 0 then - OpCode = tonumber(res[1].OpCode) - if OpCode < 10 then - XmlStr = - string.format( - '<![CDATA[@%s\n💔积分不足💔\n😭每日签到/拉好友进群都可以获🉐️积分哦😭]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return - end - - return - else -- 不存在 - XmlStr = - string.format( - '<![CDATA[@%s\n💔你还没有记录哦💔\n😭快回复签到赚取积分吧😭]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - end -end - -function Sign(CurrentWxid, data) - GetUserNick(CurrentWxid, data) - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], wxid, ToUserName) - res, err = c:query(sqlstr) --存在 - if #res ~= 0 then - rndCode = math.random(2, 8) - OpCode = tonumber(res[1].OpCode) + rndCode - SignTime = tonumber(res[1].SignTime) - day = os.date("%d", os.time()) - os.date("%d", SignTime) - --log.error("ret %d", day) - if day == 0 then - XmlStr = - string.format( - '<![CDATA[@%s\n今天已经签到过了,不要重复签到哦😄]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return - end - if day == 1 then --连续签到 - RealDays = tonumber(res[1].RealDays) + 1 - end - if day > 1 or day < 0 then - RealDays = 1 - end - - if day == -30 or day == -29 then - RealDays = tonumber(res[1].RealDays) + 1 - end - - NSignTime = os.time() - sqlstr = - string.format( - [[UPDATE `users_info` SET `Gid` = "%s" ,`OpCode` = %d ,`SignDays` = SignDays +1 ,`RealDays` = %d ,`SignTime` = %d WHERE `Uid` = "%s"]], - ToUserName, - OpCode, - RealDays, - NSignTime, - wxid - ) - c:query(sqlstr) - XmlStr = - string.format( - '<![CDATA[@%s\n😜签到成功😜\n🍺获🉐️积分:%d\n🍺剩余积分:%d\n☑️连续签到:%d天\n☑️累计签到:%d天\n✔️上次签到时间:%s\n📝本次签到时间:%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick, - rndCode, - OpCode, - RealDays, - res[1].SignDays + 1, - FormatUnixTime2Date(SignTime), - FormatUnixTime2Date(NSignTime) - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return - else --不存在记录 - sqlstr = - string.format( - [[INSERT INTO users_info (Uid,Gid,OpCode, SignTime,RealDays,SignDays,Balance,DiceTime,CreateTime)VALUES ("%s","%s",%d,%d,%d,%d,%d,0,%d)]], - wxid, - ToUserName, - 12, - os.time(), - 1, - 1, - 0, - os.time() - ) - res, err = c:query(sqlstr) --插入邀请信息 - - XmlStr = - string.format( - '<![CDATA[@%s\n首次开户成功获得积分10点\n每日签到和拉好友进群都会获🉐️积分哦\n[机智]积分🉑️进行🎮或提现]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Nick - ) - - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 57, Content = XmlStr}) - return - end -end -function GetConn() - c = mysql.new() - ok, err = c:connect({host = MYSQL_IP, port = MYSQL_PORT, database = "OPQDB", user = "root", password = "123456."}) - if err ~= nil then - log.error("mysql err %v", err) - return 1 - end -end -function GetChatRoom(RoomId) - file = string.format("./Plugins/Games/%s.dat", RoomId) - UserDat = readAll(file) - if UserDat == nil then - else - return UserDat - end - return nil -end -function CheckAdmin(id) - file = string.format("./Plugins/Games/admin_%s.dat", id) - UserDat = readAll(file) - if UserDat == nil then - else - return UserDat - end - return nil -end -function SetChatRoom(RoomId) - file = string.format("./Plugins/Games/%s.dat", RoomId) - writeFile(file, "1") -end - -function FormatUnixTime2Date(t) - return string.format( - "%s年%s月%s日%s时%s分%s秒", - os.date("%Y", t), - os.date("%m", t), - os.date("%d", t), - os.date("%H", t), - os.date("%M", t), - os.date("%S", t) - ) -end - -function SubUnix(t1, t2) - local t3 = t1 - t2 - return string.format("%.2d时%.2d分%.2d秒", t3 / (60 * 60), t3 / 60 % 60, t3 % 60) -end - -function GenRandInt(x, y) - math.randomseed(os.time()) - num = math.random(x, y) - return num -end -function string.split(input, delimiter) - input = tostring(input) - delimiter = tostring(delimiter) - if (delimiter == "") then - return false - end - local pos, arr = 0, {} - -- for each divider found - for st, sp in function() - return string.find(input, delimiter, pos, true) - end do - table.insert(arr, string.sub(input, pos, st - 1)) - pos = sp + 1 - end - table.insert(arr, string.sub(input, pos)) - return arr -end -function Sleep(n) - --log.notice("==========Sleep==========\n%d", n) - local t0 = os.clock() - while os.clock() - t0 <= n do - end - --log.notice("==========over Sleep==========\n%d", n) -end -function readAll(filePath) - local f, err = io.open(filePath, "rb") - if err ~= nil then - return nil - end - local content = f:read("*all") - f:close() - return content -end -function writeFile(path, content) - local file = io.open(path, "wb+") - --log.error("%v", err) - if file then - if file:write(content) == nil then - return false - end - io.close(file) - return true - else - return false - end -end diff --git a/PkgCodecScripts/MessageSvc.RequestPushStatus.lua b/PkgCodecScripts/MessageSvc.RequestPushStatus.lua deleted file mode 100644 index 280e18a..0000000 --- a/PkgCodecScripts/MessageSvc.RequestPushStatus.lua +++ /dev/null @@ -1,11 +0,0 @@ -local log = require("log") -function PackCodecName() - return "MessageSvc.RequestPushStatus" -end -function PackPkg(t, User) - return 0 -end -function UnPackPkg(rawData, User) - return 0 --忽略解析 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/MessageSvc.WNSQzone.lua b/PkgCodecScripts/MessageSvc.WNSQzone.lua deleted file mode 100644 index 48722a5..0000000 --- a/PkgCodecScripts/MessageSvc.WNSQzone.lua +++ /dev/null @@ -1,11 +0,0 @@ -local log = require("log") -function PackCodecName() - return "MessageSvc.WNSQzone" -end -function PackPkg(t, User) - return 0 -end -function UnPackPkg(rawData, User) - return 0 --忽略解析 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/MultiVideo.s2c.lua b/PkgCodecScripts/MultiVideo.s2c.lua deleted file mode 100644 index 23329f9..0000000 --- a/PkgCodecScripts/MultiVideo.s2c.lua +++ /dev/null @@ -1,11 +0,0 @@ -local log = require("log") -function PackCodecName() - return "MultiVideo.s2c" -end -function PackPkg(t, User) - return 0 -end -function UnPackPkg(rawData, User) - return 0 --忽略解析 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/OfflineFilleHandleSvr.pb_ftn_CMD_REQ_APPLY_DOWNLOAD-1200.lua b/PkgCodecScripts/OfflineFilleHandleSvr.pb_ftn_CMD_REQ_APPLY_DOWNLOAD-1200.lua deleted file mode 100644 index 66ef44e..0000000 --- a/PkgCodecScripts/OfflineFilleHandleSvr.pb_ftn_CMD_REQ_APPLY_DOWNLOAD-1200.lua +++ /dev/null @@ -1,48 +0,0 @@ -local log = require("log") ---获取好友文件下载链接功能包 -function PackCodecName() - return "OfflineFilleHandleSvr.pb_ftn_CMD_REQ_APPLY_DOWNLOAD-1200" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(1200) - data:EncodeVarint(2, 0) - data:EncodeVarint(617008520) - buf_38 = PkgCodec.newPbCodec() - buf_38:EncodeVarint(10, 0) - buf_38:EncodeVarint(User.DwUin) - buf_38:EncodeVarint(20, 2) - buf_38:EncodeStringBytes(t.FileID) - buf_38:EncodeVarint(30, 0) - buf_38:EncodeVarint(2) - data:EncodeVarint(14, 2) - data:EncodeRawBytes(buf_38:GetPbData()) - data:EncodeVarint(101, 0) - data:EncodeVarint(3) - data:EncodeVarint(102, 0) - data:EncodeVarint(303) - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OfflineFilleHandleSvr.pb_ftn_CMD_REQ_APPLY_DOWNLOAD-1200", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - _, userdata = PkgCodec.ReadPbFieldData(14, rawData) - _, buf = PkgCodec.ReadPbFieldData(30, userdata) - _, url = PkgCodec.ReadPbFieldData(50, buf) - _, buf = PkgCodec.ReadPbFieldData(40, userdata) - FromUin, _ = PkgCodec.ReadPbFieldData(1, buf) - FileSize, _ = PkgCodec.ReadPbFieldData(3, buf) - _, FileName = PkgCodec.ReadPbFieldData(7, buf) - return { - FromUin = FromUin, - FileSize = FileSize, - FileName = PkgCodec.ToString(FileName), - Url = PkgCodec.ToString(url) - } -end diff --git a/PkgCodecScripts/OidbSvc.0x55c_1.lua b/PkgCodecScripts/OidbSvc.0x55c_1.lua deleted file mode 100644 index f001ca4..0000000 --- a/PkgCodecScripts/OidbSvc.0x55c_1.lua +++ /dev/null @@ -1,30 +0,0 @@ -local log = require("log") ---设置/取消管理員功能包 -function PackCodecName() - return "OidbSvc.0x55c_1" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(1372) - data:EncodeVarint(2, 0) - data:EncodeVarint(1) - data:EncodeVarint(4, 2) - bufs = PkgCodec.newBufferStream() - bufs:WriteInt(4, t.GroupID) - bufs:WriteInt(4, t.UserID) - bufs:WriteBuffer({t.Flag}) - data:EncodeRawBytes(bufs:GetBuffer()) - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0x55c_1", - SsoData = data:GetPbData() - } - ) - return 0 --返回只能为0 -end -function UnPackPkg(rawData, User) - Ret, _ = PkgCodec.ReadPbFieldData(3, rawData) - return {Ret = Ret} -end diff --git a/PkgCodecScripts/OidbSvc.0x570_8.lua b/PkgCodecScripts/OidbSvc.0x570_8.lua deleted file mode 100644 index b1c5947..0000000 --- a/PkgCodecScripts/OidbSvc.0x570_8.lua +++ /dev/null @@ -1,34 +0,0 @@ -local log = require("log") ---设置群成员禁言功能包 -function PackCodecName() - return "OidbSvc.0x570_8" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(1392) - data:EncodeVarint(2, 0) - data:EncodeVarint(8) - data:EncodeVarint(4, 2) - bufs = PkgCodec.newBufferStream() - bufs:WriteInt(4, t.GroupID) - bufs:WriteBuffer({0x20, 0x0, 0x1}) - bufs:WriteInt(4, t.ShutUpUserID) - bufs:WriteInt(4, t.ShutTime * 60) - data:EncodeRawBytes(bufs:GetBuffer()) - - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0x570_8", - SsoData = data:GetPbData() - } - ) - return 0 --返回只能为0 -end -function UnPackPkg(rawData, User) - --str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - --log.notice("%s", str) - Ret, _ = PkgCodec.ReadPbFieldData(3, rawData) - return {Ret = Ret} -end diff --git a/PkgCodecScripts/OidbSvc.0x6d6_2.lua b/PkgCodecScripts/OidbSvc.0x6d6_2.lua deleted file mode 100644 index cd3e8fe..0000000 --- a/PkgCodecScripts/OidbSvc.0x6d6_2.lua +++ /dev/null @@ -1,48 +0,0 @@ -local log = require("log") ---获取群文件下载链接功能包 -function PackCodecName() - return "OidbSvc.0x6d6_2" -end -function PackPkg(t, User) --t.GroupID - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(1750) - data:EncodeVarint(2, 0) - data:EncodeVarint(2) - buf_38 = PkgCodec.newPbCodec() - buf_38:EncodeVarint(1, 0) - buf_38:EncodeVarint(t.GroupID) - buf_38:EncodeVarint(2, 0) - buf_38:EncodeVarint(7) - buf_38:EncodeVarint(3, 0) - buf_38:EncodeVarint(102) - buf_38:EncodeVarint(4, 2) - buf_38:EncodeStringBytes(t.FileID) - buf_3 = PkgCodec.newPbCodec() - buf_3:EncodeVarint(3, 2) - buf_3:EncodeRawBytes(buf_38:GetPbData()) - data:EncodeVarint(4, 2) - data:EncodeRawBytes(buf_3:GetPbData()) - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0x6d6_2", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - --str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - --log.notice("%s", str) - - _, userdata = PkgCodec.ReadPbFieldData(4, rawData) - _, buf = PkgCodec.ReadPbFieldData(3, userdata) - Ret, _ = PkgCodec.ReadPbFieldData(0, buf) - _, ip = PkgCodec.ReadPbFieldData(5, buf) - _, key = PkgCodec.ReadPbFieldData(6, buf) - return { - Ret = Ret, - Url = string.format("http://%s/ftn_handler/%s", PkgCodec.ToString(ip), PkgCodec.HexDump(key)) - } -end diff --git a/PkgCodecScripts/OidbSvc.0x7e5_4.lua b/PkgCodecScripts/OidbSvc.0x7e5_4.lua deleted file mode 100644 index 2cd4654..0000000 --- a/PkgCodecScripts/OidbSvc.0x7e5_4.lua +++ /dev/null @@ -1,34 +0,0 @@ -local log = require("log") ---点赞功能包 -function PackCodecName() - return "OidbSvc.0x7e5_4" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(2021) - data:EncodeVarint(2, 0) - data:EncodeVarint(4) - data:EncodeVarint(4, 2) - buf_1 = PkgCodec.newPbCodec() - buf_1:EncodeVarint(11, 0) - buf_1:EncodeVarint(t.UserID) - buf_1:EncodeVarint(12, 0) - buf_1:EncodeVarint(10002) - buf_1:EncodeVarint(13, 0) - buf_1:EncodeVarint(1) - data:EncodeRawBytes(buf_1:GetPbData()) - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0x7e5_4", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - log.notice("%s", str) - return {Ret = 0} -end diff --git a/PkgCodecScripts/OidbSvc.0x89a_0.lua b/PkgCodecScripts/OidbSvc.0x89a_0.lua deleted file mode 100644 index 5d98533..0000000 --- a/PkgCodecScripts/OidbSvc.0x89a_0.lua +++ /dev/null @@ -1,35 +0,0 @@ -local log = require("log") ---设置全群禁言功能包 -function PackCodecName() - return "OidbSvc.0x89a_0" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(2202) - data:EncodeVarint(2, 0) - data:EncodeVarint(0) - buf_14 = PkgCodec.newPbCodec() - buf_14:EncodeVarint(1, 0) - buf_14:EncodeVarint(t.GroupID) - buf_14:EncodeVarint(2, 2) - data_1 = PkgCodec.newPbCodec() - data_1:EncodeVarint(17, 0) - data_1:EncodeVarint(t.Switch) - buf_14:EncodeRawBytes(data_1:GetPbData()) - data:EncodeVarint(4, 2) - data:EncodeRawBytes(buf_14:GetPbData()) - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0x89a_0", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - log.notice("%s", str) - return {Ret = 0} -end diff --git a/PkgCodecScripts/OidbSvc.0x8ba_31.lua b/PkgCodecScripts/OidbSvc.0x8ba_31.lua deleted file mode 100644 index c95adf0..0000000 --- a/PkgCodecScripts/OidbSvc.0x8ba_31.lua +++ /dev/null @@ -1,131 +0,0 @@ -local log = require("log") ---搜素群组功能包 -function PackCodecName() - return "OidbSvc.0x8ba_31" -end -function PackPkg(t, User) - str = string.format("PackPkg User %s t %d", t.Content, User.StrUin) - log.info("%s", str) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(2234) - data:EncodeVarint(2, 0) - data:EncodeVarint(31) - buf_73 = PkgCodec.newPbCodec() - buf_64 = PkgCodec.newPbCodec() - buf_64:EncodeVarint(1, 0) - buf_64:EncodeVarint(50) - buf_64:EncodeVarint(2, 0) - buf_64:EncodeVarint(50 * t.Page) - buf_58 = PkgCodec.newPbCodec() - buf_56 = PkgCodec.newPbCodec() - buf_56:EncodeVarint(1, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(2, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(3, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(4, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(5, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(6, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(7, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(8, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(9, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(10, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(11, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(14, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(15, 2) - buf_56:EncodeStringBytes("") - buf_56:EncodeVarint(17, 2) - buf_56:EncodeStringBytes("") - buf_56:EncodeVarint(18, 2) - buf_56:EncodeStringBytes("") - buf_56:EncodeVarint(21, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(24, 2) - buf_56:EncodeStringBytes("") - buf_56:EncodeVarint(36, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(39, 2) - buf_56:EncodeStringBytes("") - buf_56:EncodeVarint(40, 2) - buf_56:EncodeStringBytes("") - buf_56:EncodeVarint(42, 2) - buf_56:EncodeStringBytes("") - buf_56:EncodeVarint(56, 0) - buf_56:EncodeVarint(1) - buf_56:EncodeVarint(77, 0) - buf_56:EncodeVarint(1) - buf_58:EncodeVarint(1, 2) - buf_58:EncodeRawBytes(buf_56:GetPbData()) - buf_64:EncodeVarint(4, 2) - buf_64:EncodeRawBytes(buf_58:GetPbData()) - buf_73:EncodeVarint(1, 2) - buf_73:EncodeRawBytes(buf_64:GetPbData()) - buf_73:EncodeVarint(2, 2) - buf_73:EncodeStringBytes(t.Content) - buf_73:EncodeVarint(4, 0) - buf_73:EncodeVarint(0) - data:EncodeVarint(4, 2) - data:EncodeRawBytes(buf_73:GetPbData()) - - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0x8ba_31", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - --str = string.format("OidbSvc.0x8ba_31 %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - --log.info("%s", str) - - _, userdata = PkgCodec.ReadPbFieldData(4, rawData) - tables = PkgCodec.ReadPbArray(4, userdata) - --log.notice("len tab 1-->%s", #tables) - - array = {} - for i, v in ipairs(tables) do - GroupID, _ = PkgCodec.ReadPbFieldData(1, v) - _, valBuf = PkgCodec.ReadPbFieldData(2, v) - _, valBuf = PkgCodec.ReadPbFieldData(1, valBuf) - GroupOwner, _ = PkgCodec.ReadPbFieldData(1, valBuf) - GroupMaxMembers, _ = PkgCodec.ReadPbFieldData(5, valBuf) - GroupTotalMembers, _ = PkgCodec.ReadPbFieldData(6, valBuf) - _, valName = PkgCodec.ReadPbFieldData(15, valBuf) - GroupName = PkgCodec.ToString(valName) - _, valName = PkgCodec.ReadPbFieldData(16, valBuf) - GroupNotice = PkgCodec.ToString(valName) - _, valName = PkgCodec.ReadPbFieldData(17, valBuf) - GroupData = PkgCodec.ToString(valName) - _, valName = PkgCodec.ReadPbFieldData(24, valBuf) - GroupQuestion = PkgCodec.ToString(valName) - _, valName = PkgCodec.ReadPbFieldData(40, valBuf) - GroupDes = PkgCodec.ToString(valName) - - array[i] = { - GroupID = GroupID, - GroupOwner = GroupOwner, - GroupMaxMembers = GroupMaxMembers, - GroupTotalMembers = GroupTotalMembers, - GroupName = GroupName, - GroupData = GroupData, - GroupQuestion = GroupQuestion, - GroupDes = GroupDes, - GroupNotice = GroupNotice - } - end - - return array -end diff --git a/PkgCodecScripts/OidbSvc.0x8fc_2.lua b/PkgCodecScripts/OidbSvc.0x8fc_2.lua deleted file mode 100644 index 40ab70b..0000000 --- a/PkgCodecScripts/OidbSvc.0x8fc_2.lua +++ /dev/null @@ -1,42 +0,0 @@ -local log = require("log") ---设置头衔功能包 -function PackCodecName() - return "OidbSvc.0x8fc_2" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(2300) - data:EncodeVarint(2, 0) - data:EncodeVarint(2) - buf_40 = PkgCodec.newPbCodec() - buf_40:EncodeVarint(1, 0) - buf_40:EncodeVarint(t.GroupID) - buf_32 = PkgCodec.newPbCodec() - buf_32:EncodeVarint(1, 0) - buf_32:EncodeVarint(t.UserID) - buf_32:EncodeVarint(5, 2) - buf_32:EncodeStringBytes(t.NewTitle) - buf_32:EncodeVarint(6, 0) - buf_32:EncodeVarint(4294967295) - buf_32:EncodeVarint(7, 2) - buf_32:EncodeStringBytes("") - buf_40:EncodeVarint(3, 2) - buf_40:EncodeRawBytes(buf_32:GetPbData()) - data:EncodeVarint(4, 2) - data:EncodeRawBytes(buf_40:GetPbData()) - - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0x8fc_2", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - log.notice("%s", str) - return {Ret = 0} -end diff --git a/PkgCodecScripts/OidbSvc.0xed3_1.lua b/PkgCodecScripts/OidbSvc.0xed3_1.lua deleted file mode 100644 index 5eab9f8..0000000 --- a/PkgCodecScripts/OidbSvc.0xed3_1.lua +++ /dev/null @@ -1,45 +0,0 @@ -local log = require("log") ---拍一拍 -function PackCodecName() - return "OidbSvc.0xed3_1" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(3795) - data:EncodeVarint(2, 0) - data:EncodeVarint(1) - buf_40 = PkgCodec.newPbCodec() - buf_40:EncodeVarint(1, 0) - buf_40:EncodeVarint(t.UserID) - if t.Type == 1 then - buf_40:EncodeVarint(2, 0) - buf_40:EncodeVarint(t.GroupID) - end - buf_40:EncodeVarint(3, 0) - buf_40:EncodeVarint(417649) - buf_40:EncodeVarint(4, 0) - buf_40:EncodeVarint(0) - if t.Type == 1 then - buf_40:EncodeVarint(5, 0) - buf_40:EncodeVarint(0) - else - buf_40:EncodeVarint(5, 0) - buf_40:EncodeVarint(t.UserID) - end - data:EncodeVarint(4, 2) - data:EncodeRawBytes(buf_40:GetPbData()) - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "OidbSvc.0xed3_1", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - --str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - --log.notice("%s", str) - return {Ret = 0} -end diff --git a/PkgCodecScripts/OnlinePush.PbC2CMsgSync.lua b/PkgCodecScripts/OnlinePush.PbC2CMsgSync.lua deleted file mode 100644 index 986d28a..0000000 --- a/PkgCodecScripts/OnlinePush.PbC2CMsgSync.lua +++ /dev/null @@ -1,11 +0,0 @@ -local log = require("log") -function PackCodecName() - return "OnlinePush.PbC2CMsgSync" -end -function PackPkg(t, User) - return 0 -end -function UnPackPkg(rawData, User) - return 0 --忽略解析 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/OnlinePush.PbPushDisMsg.lua b/PkgCodecScripts/OnlinePush.PbPushDisMsg.lua deleted file mode 100644 index b29f13f..0000000 --- a/PkgCodecScripts/OnlinePush.PbPushDisMsg.lua +++ /dev/null @@ -1,11 +0,0 @@ -local log = require("log") -function PackCodecName() - return "OnlinePush.PbPushDisMsg" -end -function PackPkg(t, User) - return 0 -end -function UnPackPkg(rawData, User) - return 0 --忽略解析 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/OnlinePush.SidTicketExpired.lua b/PkgCodecScripts/OnlinePush.SidTicketExpired.lua deleted file mode 100644 index fc1e465..0000000 --- a/PkgCodecScripts/OnlinePush.SidTicketExpired.lua +++ /dev/null @@ -1,11 +0,0 @@ -local log = require("log") -function PackCodecName() - return "OnlinePush.SidTicketExpired" -end -function PackPkg(t, User) - return 0 -end -function UnPackPkg(rawData, User) - return 0 --忽略解析 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/PbMessageSvc.PbMsgWithDraw.lua b/PkgCodecScripts/PbMessageSvc.PbMsgWithDraw.lua deleted file mode 100644 index 97246a7..0000000 --- a/PkgCodecScripts/PbMessageSvc.PbMsgWithDraw.lua +++ /dev/null @@ -1,60 +0,0 @@ -local log = require("log") ---撤回功能包 -function PackCodecName() - return "PbMessageSvc.PbMsgWithDraw" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - buf_38 = PkgCodec.newPbCodec() - buf_38:EncodeVarint(1, 0) - buf_38:EncodeVarint(1) - buf_38:EncodeVarint(2, 0) - buf_38:EncodeVarint(0) - buf_38:EncodeVarint(3, 0) - buf_38:EncodeVarint(t.GroupID) - buf_11 = PkgCodec.newPbCodec() - buf_11:EncodeVarint(1, 0) - buf_11:EncodeVarint(t.MsgSeq) - buf_11:EncodeVarint(2, 0) - buf_11:EncodeVarint(t.MsgRandom) - buf_11:EncodeVarint(3, 0) - buf_11:EncodeVarint(0) - buf_38:EncodeVarint(4, 2) - buf_38:EncodeRawBytes(buf_11:GetPbData()) - buf_13 = PkgCodec.newPbCodec() - buf_13:EncodeVarint(1, 0) - buf_13:EncodeVarint(0) - buf_9 = PkgCodec.newPbCodec() - buf_9:EncodeVarint(1, 0) - buf_9:EncodeVarint(t.MsgSeq) - buf_9:EncodeVarint(2, 0) - buf_9:EncodeVarint(0) - buf_9:EncodeVarint(3, 0) - buf_9:EncodeVarint(0) - buf_9:EncodeVarint(4, 0) - buf_9:EncodeVarint(0) - buf_13:EncodeVarint(2, 2) - buf_13:EncodeRawBytes(buf_9:GetPbData()) - buf_38:EncodeVarint(5, 2) - buf_38:EncodeRawBytes(buf_13:GetPbData()) - data:EncodeVarint(2, 2) - data:EncodeRawBytes(buf_38:GetPbData()) - - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "PbMessageSvc.PbMsgWithDraw", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - --str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - --log.notice("%s", str) - - _, userdata = PkgCodec.ReadPbFieldData(2, rawData) - Ret, _ = PkgCodec.ReadPbFieldData(1, userdata) - _, msg = PkgCodec.ReadPbFieldData(2, userdata) - return {Ret = Ret, Msg = PkgCodec.ToString(msg)} -end diff --git a/PkgCodecScripts/PttCenterSvr.ShortVideoDownReq.lua b/PkgCodecScripts/PttCenterSvr.ShortVideoDownReq.lua deleted file mode 100644 index 109a019..0000000 --- a/PkgCodecScripts/PttCenterSvr.ShortVideoDownReq.lua +++ /dev/null @@ -1,68 +0,0 @@ -local log = require("log") ---获取短视频Url功能包 -function PackCodecName() - return "PttCenterSvr.ShortVideoDownReq" -end -function PackPkg(t, User) - data = PkgCodec.newPbCodec() - data:EncodeVarint(1, 0) - data:EncodeVarint(400) - data:EncodeVarint(2, 0) - data:EncodeVarint(0) - buf_221 = PkgCodec.newPbCodec() - buf_221:EncodeVarint(1, 0) - buf_221:EncodeVarint(User.DwUin) - buf_221:EncodeVarint(2, 0) - buf_221:EncodeVarint(User.DwUin) - buf_221:EncodeVarint(3, 0) - buf_221:EncodeVarint(1) - buf_221:EncodeVarint(4, 0) - buf_221:EncodeVarint(7) - buf_221:EncodeVarint(5, 2) - buf_221:EncodeRawBytes(PkgCodec.DecodeBase64(t.VideoUrl)) - buf_221:EncodeVarint(6, 0) - buf_221:EncodeVarint(t.GroupID) - buf_221:EncodeVarint(7, 0) - buf_221:EncodeVarint(0) - buf_221:EncodeVarint(8, 2) - buf_221:EncodeRawBytes(PkgCodec.DecodeBase64(t.VideoMd5)) - buf_221:EncodeVarint(9, 0) - buf_221:EncodeVarint(1) - buf_221:EncodeVarint(10, 0) - buf_221:EncodeVarint(2) - buf_221:EncodeVarint(11, 0) - buf_221:EncodeVarint(2) - buf_221:EncodeVarint(12, 0) - buf_221:EncodeVarint(2) - buf_221:EncodeVarint(15, 0) - buf_221:EncodeVarint(1) - data:EncodeVarint(4, 2) - data:EncodeRawBytes(buf_221:GetPbData()) - buf_2 = PkgCodec.newPbCodec() - buf_2:EncodeVarint(1, 0) - buf_2:EncodeVarint(0) - data:EncodeVarint(100, 2) - data:EncodeRawBytes(buf_2:GetPbData()) - - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "PttCenterSvr.ShortVideoDownReq", - SsoData = data:GetPbData() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - _, userdata = PkgCodec.ReadPbFieldData(4, rawData) - Ret, _ = PkgCodec.ReadPbFieldData(1, userdata) - _, msg = PkgCodec.ReadPbFieldData(2, userdata) - _, urlbuf = PkgCodec.ReadPbFieldData(9, userdata) - _, url = PkgCodec.ReadPbFieldData(10, urlbuf) - _, urlkey = PkgCodec.ReadPbFieldData(11, urlbuf) - return { - Ret = Ret, - MsgStr = PkgCodec.ToString(msg), - VideoUrl = string.format("%s%s", PkgCodec.ToString(url), PkgCodec.ToString(urlkey)) - } -end diff --git a/PkgCodecScripts/SharpSvr.s2c.lua b/PkgCodecScripts/SharpSvr.s2c.lua deleted file mode 100644 index 2ea41cd..0000000 --- a/PkgCodecScripts/SharpSvr.s2c.lua +++ /dev/null @@ -1,11 +0,0 @@ -local log = require("log") -function PackCodecName() - return "SharpSvr.s2c" -end -function PackPkg(t, User) - return 0 -end -function UnPackPkg(rawData, User) - return 0 --忽略解析 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/StatSvc.MacStatusReport.lua b/PkgCodecScripts/StatSvc.MacStatusReport.lua deleted file mode 100644 index 0e30838..0000000 --- a/PkgCodecScripts/StatSvc.MacStatusReport.lua +++ /dev/null @@ -1,21 +0,0 @@ -local log = require("log") ---活跃度上报功能包 -function PackCodecName() - return "StatSvc.MacStatusReport" -end -function PackPkg(t, User) - PkgCodec.SendSSoData(--发送包体 - { - User = User, - ServiceCmd = "StatSvc.MacStatusReport", - SsoData = {8, 1} - } - ) - return 0 -end -function UnPackPkg(rawData, User) - str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - log.info("%s", str) - return 0 - --返回table 等任意类型 返回 任意整数则 不向队列/管道发送结果 直接返回 -end diff --git a/PkgCodecScripts/SummaryCard.ReqSummaryCard.lua b/PkgCodecScripts/SummaryCard.ReqSummaryCard.lua deleted file mode 100644 index 3d332f1..0000000 --- a/PkgCodecScripts/SummaryCard.ReqSummaryCard.lua +++ /dev/null @@ -1,1226 +0,0 @@ -local log = require("log") ---获取用户资料卡片 -function PackCodecName() - return "SummaryCard.ReqSummaryCard" -end -function PackPkg(t, User) - bufs = PkgCodec.newBufferStream() - bufs:WriteBuffer( - { - 8, - 0, - 2, - 6, - 7, - 82, - 101, - 113, - 72, - 101, - 97, - 100, - 24, - 0, - 1, - 6, - 19, - 83, - 117, - 109, - 109, - 97, - 114, - 121, - 67, - 97, - 114, - 100, - 46, - 82, - 101, - 113, - 72, - 101, - 97, - 100, - 29, - 0, - 0, - 4, - 10, - 0, - 2, - 11, - 6, - 14, - 82, - 101, - 113, - 83, - 117, - 109, - 109, - 97, - 114, - 121, - 67, - 97, - 114, - 100, - 24, - 0, - 1, - 6, - 26, - 83, - 117, - 109, - 109, - 97, - 114, - 121, - 67, - 97, - 114, - 100, - 46, - 82, - 101, - 113, - 83, - 117, - 109, - 109, - 97, - 114, - 121, - 67, - 97, - 114, - 100, - 29, - 0, - 1, - 4, - 72, - 10, - 2 - } - ) - bufs:WriteInt(4, t.UserID) - bufs:WriteBuffer( - { - 16, - 1, - 44, - 48, - 1, - 76, - 92, - 109, - 0, - 0, - 13, - 12, - 18, - 95, - 250, - 101, - 83, - 34, - 94, - 137, - 64, - 196, - 48, - 1, - 118, - 0, - 130, - 0, - 1, - 142, - 63, - 145, - 7, - 209, - 173, - 0, - 12, - 189, - 0, - 0, - 118, - 0, - 0, - 0, - 118, - 16, - 2, - 44, - 60, - 76, - 86, - 17, - 81, - 81, - 83, - 101, - 114, - 118, - 105, - 99, - 101, - 46, - 71, - 97, - 109, - 101, - 83, - 118, - 99, - 102, - 15, - 82, - 101, - 113, - 76, - 97, - 115, - 116, - 71, - 97, - 109, - 101, - 73, - 110, - 102, - 111, - 125, - 0, - 0, - 64, - 8, - 0, - 1, - 6, - 15, - 82, - 101, - 113, - 76, - 97, - 115, - 116, - 71, - 97, - 109, - 101, - 73, - 110, - 102, - 111, - 24, - 0, - 1, - 6, - 26, - 71, - 97, - 109, - 101, - 67, - 101, - 110, - 116, - 101, - 114, - 46, - 82, - 101, - 113, - 76, - 97, - 115, - 116, - 71, - 97, - 109, - 101, - 73, - 110, - 102, - 111, - 29, - 0, - 0, - 9, - 10, - 0, - 49, - 18 - } - ) - bufs:WriteInt(4, t.UserID) - bufs:WriteBuffer( - { - 11, - 140, - 152, - 12, - 168, - 12, - 205, - 0, - 0, - 118, - 0, - 0, - 0, - 118, - 16, - 2, - 44, - 60, - 76, - 86, - 8, - 77, - 67, - 97, - 114, - 100, - 83, - 118, - 99, - 102, - 5, - 113, - 117, - 101, - 114, - 121, - 125, - 0, - 0, - 83, - 8, - 0, - 1, - 6, - 3, - 114, - 101, - 113, - 24, - 0, - 1, - 6, - 33, - 115, - 117, - 109, - 109, - 97, - 114, - 121, - 95, - 99, - 97, - 114, - 100, - 46, - 83, - 83, - 117, - 109, - 109, - 97, - 114, - 121, - 67, - 97, - 114, - 100, - 81, - 117, - 101, - 114, - 121, - 82, - 101, - 113, - 29, - 0, - 0, - 33, - 10, - 0, - 1, - 19, - 0, - 0, - 0, - 0 - } - ) - bufs:WriteInt(4, User.DwUin) - bufs:WriteBuffer({0x22}) - bufs:WriteInt(4, t.UserID) - - bufs:WriteBuffer( - { - 54, - 9, - 56, - 46, - 53, - 46, - 53, - 46, - 54, - 52, - 56, - 64, - 1, - 80, - 110, - 11, - 140, - 152, - 12, - 168, - 12, - 221, - 0, - 12, - 233, - 0, - 7, - 13, - 0, - 0, - 21, - 40, - 0, - 0, - 0, - 11, - 0, - 0, - 0, - 0, - 40, - 2, - 96, - 1, - 106, - 5, - 56, - 46, - 53, - 46, - 53, - 41, - 13, - 0, - 0, - 125, - 40, - 0, - 0, - 0, - 105, - 0, - 0, - 0, - 10, - 8, - 1, - 24 - } - ) - - data = PkgCodec.newPbCodec() - data:EncodeVarint(User.DwUin) - UinBufs = data:GetPbData() - bufs:WriteBuffer(UinBufs) - - bufs:WriteBuffer( - { - 32, - 255, - 240, - 181, - 238, - 2, - 40, - 18, - 96, - 1, - 106, - 5, - 56, - 46, - 53, - 46, - 53, - 122, - 78, - 8, - 8, - 18, - 72, - 145, - 210, - 233, - 225, - 125, - 227, - 249, - 253, - 90, - 203, - 187, - 250, - 254, - 145, - 220, - 216, - 52, - 168, - 132, - 117, - 39, - 15, - 233, - 193, - 53, - 223, - 231, - 59, - 133, - 49, - 145, - 110, - 210, - 59, - 60, - 166, - 194, - 182, - 225, - 18, - 154, - 205, - 39, - 123, - 107, - 132, - 195, - 211, - 98, - 198, - 63, - 179, - 202, - 3, - 40, - 142, - 229, - 24, - 171, - 36, - 186, - 107, - 59, - 81, - 153, - 47, - 22, - 39, - 54, - 229, - 231, - 192, - 24, - 16, - 8, - 255, - 240, - 181, - 238, - 2, - 24, - 10, - 32, - 0, - 41, - 13, - 0, - 0, - 127, - 40, - 0, - 0, - 0, - 105, - 0, - 0, - 0, - 12, - 8, - 1, - 24 - } - ) - bufs:WriteBuffer(UinBufs) - bufs:WriteBuffer( - { - 32, - 255, - 240, - 181, - 238, - 2, - 40, - 19, - 96, - 1, - 106, - 5, - 56, - 46, - 53, - 46, - 53, - 122, - 78, - 8, - 8, - 18, - 72, - 145, - 210, - 233, - 225, - 125, - 227, - 249, - 253, - 90, - 203, - 187, - 250, - 254, - 145, - 220, - 216, - 52, - 168, - 132, - 117, - 39, - 15, - 233, - 193, - 53, - 223, - 231, - 59, - 133, - 49, - 145, - 110, - 210, - 59, - 60, - 166, - 194, - 182, - 225, - 18, - 154, - 205, - 39, - 123, - 107, - 132, - 195, - 211, - 98, - 198, - 63, - 179, - 202, - 3, - 40, - 142, - 229, - 24, - 171, - 36, - 186, - 107, - 59, - 81, - 153, - 47, - 22, - 39, - 54, - 229, - 231, - 192, - 24, - 16, - 8, - 255, - 240, - 181, - 238, - 2, - 16, - 10, - 24, - 0, - 40, - 1, - 41, - 13, - 0, - 0, - 21, - 40, - 0, - 0, - 0, - 11, - 0, - 0, - 0, - 0, - 40, - 4, - 96, - 1, - 106, - 5, - 56, - 46, - 53, - 46, - 53, - 41, - 13, - 0, - 1, - 0, - 149, - 40, - 0, - 0, - 0, - 25, - 0, - 0, - 0, - 114, - 8, - 1, - 24 - } - ) - bufs:WriteBuffer(UinBufs) - bufs:WriteBuffer( - { - 32, - 255, - 240, - 181, - 238, - 2, - 40, - 16, - 96, - 1, - 106, - 5, - 56, - 46, - 53, - 46, - 53, - 8, - 3, - 18, - 6, - 8, - 255, - 240, - 181, - 238, - 2, - 26, - 6, - 8, - 255, - 240, - 181, - 238, - 2, - 34, - 10, - 8, - 4, - 18, - 6, - 8, - 255, - 240, - 181, - 238, - 2, - 42, - 4, - 8, - 222, - 202, - 2, - 42, - 9, - 8, - 228, - 202, - 2, - 18, - 3, - 105, - 110, - 116, - 42, - 9, - 8, - 232, - 202, - 2, - 18, - 3, - 105, - 110, - 116, - 42, - 9, - 8, - 242, - 202, - 2, - 18, - 3, - 105, - 110, - 116, - 42, - 9, - 8, - 239, - 213, - 1, - 18, - 3, - 105, - 110, - 116, - 50, - 6, - 8 - } - ) - bufs:WriteBuffer(UinBufs) - bufs:WriteBuffer( - { - 58, - 24, - 10, - 17, - 108, - 97, - 115, - 116, - 95, - 101, - 120, - 112, - 111, - 115, - 101, - 95, - 115, - 99, - 111, - 114, - 101, - 18, - 3, - 56, - 48, - 51, - 41, - 13, - 0, - 0, - 83, - 40, - 0, - 0, - 0, - 25, - 0, - 0, - 0, - 48, - 8, - 1, - 24 - } - ) - bufs:WriteBuffer(UinBufs) - bufs:WriteBuffer( - { - 32, - 255, - 240, - 181, - 238, - 2, - 40, - 15, - 96, - 1, - 106, - 5, - 56, - 46, - 53, - 46, - 53, - 10, - 28, - 112, - 114, - 111, - 102, - 105, - 108, - 101, - 86, - 105, - 115, - 105, - 116, - 111, - 114, - 46, - 103, - 101, - 116, - 86, - 105, - 115, - 105, - 116, - 111, - 114, - 67, - 110, - 116, - 18, - 16, - 8, - 255, - 240, - 181, - 238, - 2, - 16 - } - ) - - bufs:WriteBuffer(UinBufs) - bufs:WriteBuffer({24, 0, 32, 1, 41, 13, 0, 1, 0, 128, 40, 0, 0, 0, 105, 0, 0, 0, 13, 8, 1, 24}) - bufs:WriteBuffer(UinBufs) - bufs:WriteBuffer( - { - 32, - 255, - 240, - 181, - 238, - 2, - 40, - 17, - 96, - 1, - 106, - 5, - 56, - 46, - 53, - 46, - 53, - 122, - 78, - 8, - 8, - 18, - 72, - 145, - 210, - 233, - 225, - 125, - 227, - 249, - 253, - 90, - 203, - 187, - 250, - 254, - 145, - 220, - 216, - 52, - 168, - 132, - 117, - 39, - 15, - 233, - 193, - 53, - 223, - 231, - 59, - 133, - 49, - 145, - 110, - 210, - 59, - 60, - 166, - 194, - 182, - 225, - 18, - 154, - 205, - 39, - 123, - 107, - 132, - 195, - 211, - 98, - 198, - 63, - 179, - 202, - 3, - 40, - 142, - 229, - 24, - 171, - 36, - 186, - 107, - 59, - 81, - 153, - 47, - 22, - 39, - 54, - 229, - 231, - 192, - 24, - 16, - 10, - 9, - 55, - 54, - 56, - 52, - 52, - 48, - 52, - 52, - 55, - 16, - 1, - 41, - 252, - 15, - 240, - 16, - 1, - 250, - 17, - 28, - 44, - 11, - 240, - 18, - 1, - 249, - 19, - 0, - 19, - 1, - 106, - 89, - 1, - 106, - 88, - 1, - 106, - 100, - 2, - 0, - 0, - 164, - 137, - 2, - 0, - 0, - 164, - 138, - 1, - 106, - 102, - 2, - 0, - 0, - 164, - 183, - 2, - 0, - 0, - 164, - 188, - 2, - 0, - 0, - 157, - 132, - 2, - 0, - 0, - 165, - 86, - 2, - 0, - 0, - 165, - 85, - 2, - 0, - 0, - 165, - 123, - 2, - 0, - 0, - 165, - 127, - 2, - 0, - 0, - 165, - 137, - 2, - 0, - 0, - 165, - 121, - 2, - 0, - 0, - 165, - 116, - 2, - 0, - 0, - 165, - 185, - 2, - 0, - 0, - 165, - 248, - 2, - 0, - 0, - 166, - 9, - 240, - 20, - 1, - 252, - 21, - 240, - 22, - 1, - 253, - 23, - 0, - 12, - 252, - 24, - 11 - } - ) - str = string.format("ReqSummaryCard Pb %s", PkgCodec.HexDump(bufs:GetBuffer())) - log.info("%s", str) - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "SummaryCard.ReqSummaryCard", - ServantName = "QQService.MCardSvc.SummaryServantObj", - SFuncName = "ReqSummaryCard", - SsoData = bufs:GetBuffer() - } - ) - return 0 -end -function UnPackPkg(rawData, User) - jceOutStream = PkgCodec.newBufferStream(rawData) - jceOutStream:Skip(117) - jceOutStream:JceReadStruct() - --str = string.format("RespSummaryCard %s", PkgCodec.HexDump(jceOutStream:GetBuffer())) - --log.info("%s", str) - - Sex = jceOutStream:JceReadInt(1) - Age = jceOutStream:JceReadInt(2) - NickName = jceOutStream:JceReadString(3) - QQLevel = jceOutStream:JceReadInt(5) - Province = jceOutStream:JceReadString(6) - City = jceOutStream:JceReadString(7) - LikeNums = jceOutStream:JceReadInt(16) - QQUin = jceOutStream:JceReadInt(23) - LoginDays = jceOutStream:JceReadInt(36) - return { - QQUin = QQUin, - NickName = NickName, - Sex = Sex, - Age = Age, - QQLevel = QQLevel, - Province = Province, - City = City, - LikeNums = LikeNums, - LoginDays = LoginDays - } -end diff --git a/PkgCodecScripts/friendlist.GetFriendListReq.lua b/PkgCodecScripts/friendlist.GetFriendListReq.lua deleted file mode 100644 index 381cbfe..0000000 --- a/PkgCodecScripts/friendlist.GetFriendListReq.lua +++ /dev/null @@ -1,152 +0,0 @@ -local log = require("log") ---获取好友列表功能包 -function PackCodecName() - return "friendlist.GetFriendListReq" -end -function PackPkg(t, User) - jceWriteStream = PkgCodec.newBufferStream() - jceWriteStream:JceWriteInt(3, 0) - jceWriteStream:JceWriteBool(true, 1) - jceWriteStream:JceWriteInt(User.DwUin, 2) - jceWriteStream:JceWriteInt(t.StartIndex, 3) - jceWriteStream:JceWriteInt(200, 4) - jceWriteStream:JceWriteBool(false, 5) - jceWriteStream:JceWriteBool(true, 6) - jceWriteStream:JceWriteBool(false, 7) - jceWriteStream:JceWriteInt(100, 8) - jceWriteStream:JceWriteBool(true, 9) - jceWriteStream:JceWriteBool(true, 10) - jceWriteStream:JceWriteInt(7, 11) - jceWriteStream:JceWriteStringArray(nil, 12) - --[ ] - jceWriteStream:JceWriteBool(false, 13) - jceWriteStream:JceWriteStruct(0) - jceWriteStream:JceWriteMap("FL", "friendlist.GetFriendListReq", 0) - req = jceWriteStream:GetBuffer() - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "friendlist.GetFriendListReq", - ServantName = "mqq.IMService.FriendListServiceServantObj", - SFuncName = "GetFriendListReq", - SsoData = req - } - ) - return 0 -end -function UnPackPkg(rawData, User) - jceOutStream = PkgCodec.newBufferStream(rawData) - jceOutStream:JceReadMap("FLRESP", "friendlist.GetFriendListResp", 0) - jceOutStream:JceReadStruct() - jceOutStream:JceReadInt(0) - jceOutStream:JceReadInt(1) - jceOutStream:JceReadInt(2) - StartIndex = jceOutStream:JceReadInt(3) - GetfriendCount = jceOutStream:JceReadInt(4) - Totoal_friend_count = jceOutStream:JceReadInt(5) - Friend_count = jceOutStream:JceReadInt(6) - len = jceOutStream:JceReadList(7) - FriendlistInfo = { - StartIndex = StartIndex, - GetfriendCount = GetfriendCount, - Totoal_friend_count = Totoal_friend_count, - Friend_count = Friend_count, - Friendlist = {} - } - for i = 1, len, 1 do - jceOutStream:Skip(1) --跳过struct头 0xa - FriendUin = jceOutStream:JceReadInt(0) - jceOutStream:JceReadInt(1) - jceOutStream:JceReadInt(2) - Remark = jceOutStream:JceReadString(3) - jceOutStream:JceReadInt(4) - Status = jceOutStream:JceReadInt(5) - jceOutStream:JceReadInt(6) - jceOutStream:JceReadInt(7) - jceOutStream:JceReadInt(8) - jceOutStream:JceReadInt(9) - jceOutStream:JceReadInt(10) - jceOutStream:JceReadInt(11) - jceOutStream:JceReadString(12) - IsRemark = jceOutStream:JceReadBool(13) - NickName = jceOutStream:JceReadString(14) - jceOutStream:JceReadInt(15) - jceOutStream:JceReadString(16) - jceOutStream:JceReadString(17) - jceOutStream:JceReadInt(18) - jceOutStream:Skip(5) - --str = string.format("GetFriendListResp %s len %s", PkgCodec.HexDump(jceOutStream:GetBuffer()), len) - --log.info("%s", str) - for i = 1, 4, 1 do - jceOutStream:JceReadInt(0) - jceOutStream:Skip(1) - jceOutStream:JceReadInt(0) - jceOutStream:JceReadInt(1) - jceOutStream:JceReadInt(2) - jceOutStream:JceReadInt(3) - jceOutStream:JceReadInt(4) - jceOutStream:Skip(1) - end - jceOutStream:Skip(3) - jceOutStream:JceReadInt(20) - jceOutStream:JceReadBytes(21) - jceOutStream:JceReadInt(22) - jceOutStream:JceReadInt(23) - jceOutStream:JceReadInt(24) - jceOutStream:JceReadInt(25) - jceOutStream:JceReadInt(26) - OnlineStr = jceOutStream:JceReadString(27) - jceOutStream:JceReadInt(28) - jceOutStream:JceReadInt(29) - jceOutStream:JceReadInt(30) - jceOutStream:JceReadInt(31) - jceOutStream:JceReadInt(32) - jceOutStream:JceReadString(33) - jceOutStream:JceReadString(34) - jceOutStream:JceReadInt(35) - jceOutStream:JceReadInt(36) - jceOutStream:JceReadInt(37) - jceOutStream:JceReadInt(38) - jceOutStream:JceReadInt(39) - jceOutStream:JceReadInt(40) - jceOutStream:JceReadBytes(41) - jceOutStream:JceReadInt(42) - jceOutStream:JceReadInt(43) - jceOutStream:JceReadInt(44) - jceOutStream:JceReadString(45) - jceOutStream:JceReadInt(46) - jceOutStream:JceReadInt(47) - jceOutStream:JceReadInt(48) - jceOutStream:JceReadString(49) - jceOutStream:JceReadInt(50) - jceOutStream:JceReadInt(51) - jceOutStream:JceReadBytes(52) - jceOutStream:JceReadInt(53) - jceOutStream:JceReadInt(54) - jceOutStream:JceReadBytes(55) - jceOutStream:JceReadBytes(56) - jceOutStream:JceReadInt(57) - jceOutStream:JceReadInt(58) - jceOutStream:JceReadBytes(59) - jceOutStream:JceReadBytes(60) - jceOutStream:JceReadBytes(61) - jceOutStream:JceReadBytes(62) - jceOutStream:Skip(1) --跳过struct尾 0xb - - info = { - FriendUin = FriendUin, - Remark = Remark, - Status = Status, - IsRemark = IsRemark, - NickName = NickName, - OnlineStr = OnlineStr - } - - FriendlistInfo.Friendlist[i] = info - end - - --str = string.format("GetFriendListResp %s len %s", PkgCodec.HexDump(jceOutStream:GetBuffer()), len) - --log.info("%s", str) - - return FriendlistInfo -end diff --git a/PkgCodecScripts/friendlist.GetTroopListReqV2.lua b/PkgCodecScripts/friendlist.GetTroopListReqV2.lua deleted file mode 100644 index 83aa80b..0000000 --- a/PkgCodecScripts/friendlist.GetTroopListReqV2.lua +++ /dev/null @@ -1,103 +0,0 @@ -local log = require("log") ---获取群列表功能包 -function PackCodecName() - return "friendlist.GetTroopListReqV2" -end -function PackPkg(t, User) - jceWriteStream = PkgCodec.newBufferStream() - jceWriteStream:JceWriteInt(User.DwUin, 0) - jceWriteStream:JceWriteBool(true, 1) - if t.NextToken == "" then - jceWriteStream:JceWriteStringArray(nil, 2) - else - jceWriteStream:JceWriteBytes(PkgCodec.DecodeBase64(t.NextToken), 2) - end - jceWriteStream:JceWriteBool(true, 4) - jceWriteStream:JceWriteInt(7, 5) - jceWriteStream:JceWriteStruct(0) - jceWriteStream:JceWriteMap("GetTroopListReqV2", "friendlist.GetTroopListReqV2", 0) - req = jceWriteStream:GetBuffer() - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "friendlist.GetTroopListReqV2", - ServantName = "mqq.IMService.FriendListServiceServantObj", - SFuncName = "GetTroopListReqV2", - SsoData = req - } - ) - return 0 -end -function UnPackPkg(rawData, User) - jceOutStream = PkgCodec.newBufferStream(rawData) - jceOutStream:JceReadMap("GetTroopListRespV2", "friendlist.GetTroopListRespV2", 0) - jceOutStream:JceReadStruct() - jceOutStream:JceReadInt(0) - Count = jceOutStream:JceReadInt(1) - jceOutStream:JceReadInt(2) - jceOutStream:JceReadInt(3) - NextToken = jceOutStream:JceReadBytes(4) - len = jceOutStream:JceReadList(5) - --str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(jceOutStream:GetBuffer()), User.StrUin) - --log.info("%s", str) - TroopListInfo = {NextToken = NextToken, Count = Count, TroopList = {}} - for i = 1, len, 1 do - jceOutStream:Skip(1) - jceOutStream:JceReadInt(0) - GroupId = jceOutStream:JceReadInt(1) - jceOutStream:JceReadInt(2) - jceOutStream:JceReadInt(3) - GroupName = jceOutStream:JceReadString(4) - GroupNotice = jceOutStream:JceReadString(5) - - jceOutStream:JceReadInt(6) - jceOutStream:JceReadInt(7) - jceOutStream:JceReadInt(8) - jceOutStream:JceReadInt(9) - jceOutStream:JceReadInt(10) - jceOutStream:JceReadInt(11) - jceOutStream:JceReadInt(12) - jceOutStream:JceReadInt(13) - jceOutStream:JceReadInt(14) - jceOutStream:JceReadInt(15) - jceOutStream:JceReadInt(16) - jceOutStream:JceReadInt(17) - jceOutStream:JceReadInt(18) - - GroupMemberCount = jceOutStream:JceReadInt(19) - jceOutStream:JceReadInt(20) - jceOutStream:JceReadInt(21) - jceOutStream:JceReadInt(22) - GroupOwner = jceOutStream:JceReadInt(23) - jceOutStream:JceReadInt(24) - jceOutStream:JceReadInt(25) - jceOutStream:JceReadInt(26) - jceOutStream:JceReadInt(27) - jceOutStream:JceReadInt(28) - GroupTotalCount = jceOutStream:JceReadInt(29) - jceOutStream:JceReadInt(30) - jceOutStream:JceReadInt(31) - jceOutStream:JceReadInt(32) - jceOutStream:JceReadInt(33) - jceOutStream:JceReadInt(34) - jceOutStream:JceReadInt(35) - jceOutStream:JceReadInt(36) - jceOutStream:JceReadInt(37) - jceOutStream:JceReadBytes(38) - jceOutStream:JceReadInt(39) - jceOutStream:JceReadInt(40) - jceOutStream:Skip(1) - - info = { - GroupId = GroupId, - GroupName = GroupName, - GroupNotice = GroupNotice, - GroupMemberCount = GroupMemberCount, - GroupOwner = GroupOwner, - GroupTotalCount = GroupTotalCount - } - TroopListInfo.TroopList[i] = info - end - - return TroopListInfo -end diff --git a/PkgCodecScripts/friendlist.GetTroopMemberListReq.lua b/PkgCodecScripts/friendlist.GetTroopMemberListReq.lua deleted file mode 100644 index 224fa7b..0000000 --- a/PkgCodecScripts/friendlist.GetTroopMemberListReq.lua +++ /dev/null @@ -1,121 +0,0 @@ -local log = require("log") ---获取群成员列表功能包 -function PackCodecName() - return "friendlist.GetFriendListReq" -end -function PackPkg(t, User) - jceWriteStream = PkgCodec.newBufferStream() - jceWriteStream:JceWriteInt(User.DwUin, 0) - jceWriteStream:JceWriteInt(t.GroupUin, 1) - jceWriteStream:JceWriteInt(t.LastUin, 2) - jceWriteStream:JceWriteInt(t.GroupUin, 3) - jceWriteStream:JceWriteInt(2, 4) - jceWriteStream:JceWriteBool(false, 5) - jceWriteStream:JceWriteBool(false, 6) - jceWriteStream:JceWriteStruct(0) - jceWriteStream:JceWriteMap("GTML", "friendlist.GetTroopMemberListReq", 0) - req = jceWriteStream:GetBuffer() - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "friendlist.GetTroopMemberListReq", - ServantName = "mqq.IMService.FriendListServiceServantObj", - SFuncName = "GetTroopMemberListReq", - SsoData = req - } - ) - return 0 -end -function UnPackPkg(rawData, User) - --str = string.format("UnPackPkg %s User %s", PkgCodec.HexDump(rawData), User.StrUin) - --log.notice("%s", str) - jceOutStream = PkgCodec.newBufferStream(rawData) - jceOutStream:JceReadMap("GTMLRESP", "friendlist.GetTroopMemberListResp", 0) - jceOutStream:JceReadStruct() - jceOutStream:JceReadInt(0) - GroupUin = jceOutStream:JceReadInt(1) - jceOutStream:JceReadInt(2) - len = jceOutStream:JceReadList(3) - MemberListInfo = { - GroupUin = GroupUin, - LastUin = 0, - Count = len, - MemberList = {} - } - for i = 1, len, 1 do - jceOutStream:Skip(1) --跳过struct头 0xa - MemberUin = jceOutStream:JceReadInt(0) - FaceId = jceOutStream:JceReadInt(1) - Age = jceOutStream:JceReadInt(2) - Gender = jceOutStream:JceReadInt(3) - NickName = jceOutStream:JceReadString(4) - Status = jceOutStream:JceReadInt(5) - ShowName = jceOutStream:JceReadString(6) - GroupCard = jceOutStream:JceReadString(8) - jceOutStream:JceReadInt(9) - jceOutStream:JceReadString(10) - Email = jceOutStream:JceReadString(11) - Memo = jceOutStream:JceReadString(12) - AutoRemark = jceOutStream:JceReadString(13) - MemberLevel = jceOutStream:JceReadInt(14) - JoinTime = jceOutStream:JceReadInt(15) - LastSpeakTime = jceOutStream:JceReadInt(16) - CreditLevel = jceOutStream:JceReadInt(17) - GroupAdmin = jceOutStream:JceReadInt(18) - jceOutStream:JceReadInt(19) - jceOutStream:JceReadInt(20) - jceOutStream:JceReadInt(21) - jceOutStream:JceReadInt(22) - SpecialTitle = jceOutStream:JceReadString(23) - jceOutStream:JceReadInt(24) - jceOutStream:JceReadString(25) - jceOutStream:JceReadInt(26) - jceOutStream:JceReadInt(27) - jceOutStream:JceReadInt(28) - jceOutStream:JceReadInt(29) - jceOutStream:JceReadInt(30) - jceOutStream:JceReadInt(31) - jceOutStream:Skip(2) - jceOutStream:JceReadInt(0) - jceOutStream:Skip(2) - jceOutStream:Skip(1) - jceOutStream:JceReadInt(33) - jceOutStream:JceReadInt(34) - jceOutStream:JceReadInt(35) - jceOutStream:JceReadInt(36) - jceOutStream:JceReadInt(37) - jceOutStream:JceReadInt(38) - jceOutStream:JceReadBytes(39) - jceOutStream:JceReadBytes(40) - jceOutStream:JceReadInt(41) - - jceOutStream:Skip(1) --跳过struct尾 0xb - - info = { - MemberUin = MemberUin, - FaceId = FaceId, - Age = Age, - Gender = Gender, - NickName = NickName, - Status = Status, - ShowName = ShowName, - GroupAdmin = GroupAdmin, - GroupCard = GroupCard, - Email = Email, - Memo = Memo, - AutoRemark = AutoRemark, - MemberLevel = MemberLevel, - JoinTime = JoinTime, - LastSpeakTime = LastSpeakTime, - CreditLevel = CreditLevel, - SpecialTitle = SpecialTitle - } - - MemberListInfo.MemberList[i] = info - end - - LastUin = jceOutStream:JceReadInt(4) - MemberListInfo.LastUin = LastUin - - return MemberListInfo -end diff --git a/PkgCodecScripts/friendlist.ModifyGroupCardReq.lua b/PkgCodecScripts/friendlist.ModifyGroupCardReq.lua deleted file mode 100644 index 8d189f8..0000000 --- a/PkgCodecScripts/friendlist.ModifyGroupCardReq.lua +++ /dev/null @@ -1,51 +0,0 @@ -local log = require("log") ---修改群成员名片功能包 - -function PackCodecName() - return "friendlist.ModifyGroupCardReq" -end -function PackPkg(t, User) - str = string.format("PackPkg UserNewNick %s t %d", t.NewNick, User.StrUin) - log.info("%s", str) - jceWriteStream = PkgCodec.newBufferStream() - jceWriteStream:JceWriteInt(t.UserID, 0) - jceWriteStream:JceWriteInt(31, 1) - jceWriteStream:JceWriteString(t.NewNick, 2) - jceWriteStream:JceWriteBool(false, 3) - jceWriteStream:JceWriteString("", 4) - jceWriteStream:JceWriteString("", 5) - jceWriteStream:JceWriteString("", 6) - jceWriteStream:JceWriteStruct(0) - req = jceWriteStream:GetBuffer() - listStream = PkgCodec.newBufferStream() - listStream:JceWriteBool(false, 0) - listStream:JceWriteInt(t.GroupID, 1) - listStream:JceWriteBool(false, 2) - listStream:JceWriteList(req, 3) - listStream:JceWriteStruct(0) - listStream:JceWriteMap("MGCREQ", "friendlist.ModifyGroupCardReq", 0) - req = listStream:GetBuffer() - PkgCodec.SendSSoData( - { - User = User, - ServiceCmd = "friendlist.ModifyGroupCardReq", - ServantName = "mqq.IMService.FriendListServiceServantObj", - SFuncName = "ModifyGroupCardReq", - SsoData = req - } - ) - return 0 -end -function UnPackPkg(rawData, User) - jceOutStream = PkgCodec.newBufferStream(rawData) - jceOutStream:JceReadMap("MGCRESP", "friendlist.ModifyGroupCardResp", 0) - jceOutStream:JceReadStruct() - jceOutStream:JceReadInt(0) - jceOutStream:JceReadInt(1) - GroupID = jceOutStream:JceReadInt(2) - len = jceOutStream:JceReadList(3) - UserID = jceOutStream:JceReadInt(0) - --str = string.format(" GroupID %s len %d User %s", GroupID, len, User.StrUin) - --log.info("%s", str) - return {GroupID = GroupID, UserID = UserID} -end diff --git a/Plugins/CronDemo1.lua b/Plugins/CronDemo1.lua deleted file mode 100644 index 4412e21..0000000 --- a/Plugins/CronDemo1.lua +++ /dev/null @@ -1,113 +0,0 @@ -local log = require("log") -local Api = require("coreApi") -local json = require("json") -local http = require("http") -local mysql = require("mysql") - ---语音整点报时 cron 0 0 */1 * * ?每小时执行一次 -function TimeReport(CurrentQQ, task) - log.info("%s", "\n TimeReport") - - FromGroupIdArr = {987654321,123456789} - --启用报时的群数组 如果想动态添加可以考虑本地配置文件或mysql - NowHour = os.date("%H", os.time()) - --取当前小时 - TimePath = string.format("./Plugins/TimeSilk/%s_00.silk", NowHour) - --拼接文件路径 - res = ReadAll(TimePath) - --读入文件 - base64 = PkgCodec.EncodeBase64(res) - --将音频文件base64编码 - len = #FromGroupIdArr - for i = 1, len, 1 do - Api.Api_SendMsg( - --发送语音 - CurrentQQ, - { - toUser = FromGroupIdArr[i], - sendToType = 2, - sendMsgType = "VoiceMsg", - voiceBase64Buf = base64 - } - ) - end - log.info("TimeReport.lua Log\n%s", TimePath) - return 1 --返回个任意整数即可 -end - ---定时指定的群 发送消息 -function ScheduleJobOne(CurrentQQ, task) - log.info("%s", "\n ScheduleJobOne") - SendGroupText(CurrentQQ, 960839480, "dojob") - str = string.format("%s%s task ticks %d taskid %d", "ScheduleJobOne", "done", task.Ticks, task.TaskID) - log.info("Crondemo1.lua Log\n%s", str) - return 1 --返回个任意整数即可 -end ---定时执行命令 并返回结果回传 -function ScheduleJobTwo(CurrentQQ, task) - log.info("%s", "\n ScheduleJobTwo") - local ts = io.popen("ls ./Plugins/") - -- 取结果 - local ls = ts:read("*all") - --os.execute("ping 192.168.1") --不担心结果 执行即可 尽量不要执行耗时或卡死的命令 - SendGroupText(CurrentQQ, 960839480, ls) - --结果上报到群 - str = string.format("%s%s task ticks %d taskid %d", "ScheduleJobTwo", "done", task.Ticks, task.TaskID) - log.info("Crondemo1.lua Log\n%s", str) - return 1 -end ---定时执行访问网页 GET POST -function TaskOne(CurrentQQ, task) - log.info("%s", "\n TaskOne") - response, error_message = http.request("GET", "https://v0.yiketianqi.com/api") - local html = response.body - local j = json.decode(html) - --解码json - SendGroupText(CurrentQQ, 960839480, j.errmsg) - --结果上报到群 - str = string.format("%s%s task ticks %d taskid %d", "TaskOne", "done", task.Ticks, task.TaskID) - log.info("Crondemo1.lua Log\n%s", str) - return 1 -end - ---执行多n次 自动删除任务 -function TaskTwo(CurrentQQ, task) - log.info("%s", "\n TaskTwo") - - if task.Ticks == 2 then --执行2次后 就删除任务 - resp = Api.Api_DelCrons(task.TaskID) - SendGroupText(CurrentQQ, 960839480, resp.Msg) - return 1 - end - response, error_message = http.request("GET", "https://v0.yiketianqi.com/api") - local html = response.body - local j = json.decode(html) - --解码json - SendGroupText(CurrentQQ, 960839480, j.errmsg) - --结果上报到群 - str = string.format("%s%s task ticks %d taskid %d", "TaskTwo", "done", task.Ticks, task.TaskID) - log.info("Crondemo1.lua Log\n%s", str) - return 1 -end - -function SendGroupText(CurrentQQ, toUid, content) - Api.Api_SendMsg( - CurrentQQ, - { - toUser = toUid, - sendToType = 2, - sendMsgType = "TextMsg", - content = content - } - ) -end - -function ReadAll(filePath) - local f, err = io.open(filePath, "rb") - if err ~= nil then - return nil - end - local content = f:read("*all") - f:close() - return content -end diff --git a/Plugins/TimeSilk/00_00.silk b/Plugins/TimeSilk/00_00.silk deleted file mode 100644 index be7f6ab..0000000 Binary files a/Plugins/TimeSilk/00_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/01_00.silk b/Plugins/TimeSilk/01_00.silk deleted file mode 100644 index f2d116f..0000000 Binary files a/Plugins/TimeSilk/01_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/02_00.silk b/Plugins/TimeSilk/02_00.silk deleted file mode 100644 index 4c56604..0000000 Binary files a/Plugins/TimeSilk/02_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/03_00.silk b/Plugins/TimeSilk/03_00.silk deleted file mode 100644 index ae11de4..0000000 Binary files a/Plugins/TimeSilk/03_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/04_00.silk b/Plugins/TimeSilk/04_00.silk deleted file mode 100644 index aa8d56d..0000000 Binary files a/Plugins/TimeSilk/04_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/05_00.silk b/Plugins/TimeSilk/05_00.silk deleted file mode 100644 index 2a520b8..0000000 Binary files a/Plugins/TimeSilk/05_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/06_00.silk b/Plugins/TimeSilk/06_00.silk deleted file mode 100644 index fc9f3bd..0000000 Binary files a/Plugins/TimeSilk/06_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/07_00.silk b/Plugins/TimeSilk/07_00.silk deleted file mode 100644 index af3e0f8..0000000 Binary files a/Plugins/TimeSilk/07_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/08_00.silk b/Plugins/TimeSilk/08_00.silk deleted file mode 100644 index f84439f..0000000 Binary files a/Plugins/TimeSilk/08_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/09_00.silk b/Plugins/TimeSilk/09_00.silk deleted file mode 100644 index b977564..0000000 Binary files a/Plugins/TimeSilk/09_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/10_00.silk b/Plugins/TimeSilk/10_00.silk deleted file mode 100644 index 8ae7ff0..0000000 Binary files a/Plugins/TimeSilk/10_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/11_00.silk b/Plugins/TimeSilk/11_00.silk deleted file mode 100644 index 1f965e3..0000000 Binary files a/Plugins/TimeSilk/11_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/12_00.silk b/Plugins/TimeSilk/12_00.silk deleted file mode 100644 index c4706da..0000000 Binary files a/Plugins/TimeSilk/12_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/13_00.silk b/Plugins/TimeSilk/13_00.silk deleted file mode 100644 index d438cfa..0000000 Binary files a/Plugins/TimeSilk/13_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/14_00.silk b/Plugins/TimeSilk/14_00.silk deleted file mode 100644 index d14ade1..0000000 Binary files a/Plugins/TimeSilk/14_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/15_00.silk b/Plugins/TimeSilk/15_00.silk deleted file mode 100644 index c1a0dd9..0000000 Binary files a/Plugins/TimeSilk/15_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/16_00.silk b/Plugins/TimeSilk/16_00.silk deleted file mode 100644 index 8f38368..0000000 Binary files a/Plugins/TimeSilk/16_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/17_00.silk b/Plugins/TimeSilk/17_00.silk deleted file mode 100644 index 3396d30..0000000 Binary files a/Plugins/TimeSilk/17_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/18_00.silk b/Plugins/TimeSilk/18_00.silk deleted file mode 100644 index 7254213..0000000 Binary files a/Plugins/TimeSilk/18_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/19_00.silk b/Plugins/TimeSilk/19_00.silk deleted file mode 100644 index 6e676ea..0000000 Binary files a/Plugins/TimeSilk/19_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/20_00.silk b/Plugins/TimeSilk/20_00.silk deleted file mode 100644 index c54c627..0000000 Binary files a/Plugins/TimeSilk/20_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/21_00.silk b/Plugins/TimeSilk/21_00.silk deleted file mode 100644 index 5456589..0000000 Binary files a/Plugins/TimeSilk/21_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/22_00.silk b/Plugins/TimeSilk/22_00.silk deleted file mode 100644 index dbdf707..0000000 Binary files a/Plugins/TimeSilk/22_00.silk and /dev/null differ diff --git a/Plugins/TimeSilk/23_00.silk b/Plugins/TimeSilk/23_00.silk deleted file mode 100644 index 6eb8580..0000000 Binary files a/Plugins/TimeSilk/23_00.silk and /dev/null differ diff --git a/Plugins/weather.lua b/Plugins/weather.lua deleted file mode 100644 index 0041ac3..0000000 --- a/Plugins/weather.lua +++ /dev/null @@ -1,88 +0,0 @@ ----数据来源自和风天气®,需要请自行获取APIKey -local log = require("log") -local Api = require("coreApi") -local json = require("json") -local http = require("http") -function ReceiveFriendMsg(CurrentQQ, data) - log.notice("From Lua Log ReceiveFriendMsg %s", CurrentQQ) - return 1 -end -function ReceiveGroupMsg(CurrentQQ, data) - log.notice("From Lua Log tianqi ReceiveGroupMsg %s", CurrentQQ) - if string.find(data.Content, "天气i") then - keyWord = data.Content:gsub("天气i", "") - if keyWord == "" then - return 1 - end - response, error_message = - http.request( - "GET", - "https://geoapi.heweather.net/v2/city/lookup?location=" ..keyWord.. "&key=95f5b0cfd4184ee2bfebdb3492ebb293" - ) - local html1 = response.body - local c = json.decode(html1) - ---air start - response, error_message = - http.request( - "GET", - "https://devapi.heweather.net/v7/air/now?location=" ..c.location[1].id.. "&key=95f5b0cfd4184ee2bfebdb3492ebb293" - ) - local html3 = response.body - local air = json.decode(html3) - ---air end - response, error_message = - http.request( - "GET", - "https://devapi.heweather.net/v7/weather/3d?location=" ..c.location[1].id.. "&key=95f5b0cfd4184ee2bfebdb3492ebb293" - ) - local html2 = response.body - local j = json.decode(html2) - --- type start - if string.find(j.daily[1].textDay, "晴") then - tp = "201" - elseif string.find(j.daily[1].textDay, "多云") then - tp = "202" - elseif string.find(j.daily[1].textDay, "雪") then - tp = "205" - elseif string.find(j.daily[1].textDay, "雾") then - tp = "206" - elseif string.find(j.daily[1].textDay, "霾") then - tp = "208" - elseif string.find(j.daily[1].textDay, "雨") then - tp = "204" - elseif string.find(j.daily[1].textDay, "尘") then - tp = "207" - else - tp = "203" - end - --- type end - ApiRet = - Api.Api_SendMsg( - CurrentQQ, - { - toUser = data.FromGroupId, - sendToType = 2, - sendMsgType = "JsonMsg", - groupid = 0, - content = string.format( - [[{"app":"com.tencent.weather","desc":"天气","view":"RichInfoView","ver":"1.0.0.217","prompt":"[应用]天气","meta":{"richinfo":{"adcode":"%s","air":"%s","city":"%s","date":"%s月%s日","max":"%s","min":"%s","ts":"1554951408","type":"%s","wind":"%s"}},"config":{"forward":1,"autosize":1,"type":"card"}}]], -c.location[1].id, -air.now.aqi, -c.location[1].name, -os.date('!%m'), -os.date('!%d'), -j.daily[1].tempMax, -j.daily[1].tempMin, -tp, -j.daily[1].windSpeedDay), - atUser = 0 - } - ) - log.notice("From Lua SendMsg Ret-->%d", ApiRet.Ret) - end - return 1 - end -function ReceiveEvents(CurrentQQ, data, extData) - return 1 -end --- MengXin001 diff --git a/Restlet Client - REST API Testing.crx b/Restlet Client - REST API Testing.crx deleted file mode 100755 index 84c0cc2..0000000 Binary files a/Restlet Client - REST API Testing.crx and /dev/null differ diff --git a/WebAPi.json b/WebAPi.json deleted file mode 100644 index 608b162..0000000 --- a/WebAPi.json +++ /dev/null @@ -1,3181 +0,0 @@ -{ - "version": 6, - "entities": [ - { - "entity": { - "type": "Project", - "id": "f0f77f74-72ff-4ca9-a63f-b4d610b78013", - "name": "QQWebService" - }, - "children": [ - { - "entity": { - "type": "Scenario", - "description": "", - "id": "e0a39839-0d62-4e15-b904-75dff98e8cc2", - "name": "TestDemo" - }, - "children": [ - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":1,\n \"sendMsgType\":\"TextMsg\",\n \"content\":\"先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明,故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言。深追先帝遗诏,臣不胜受恩感激。今当远离,临表涕零,不知所言\",\n \"groupid\":0,\n \"atUser\":0,\n \"replayInfo\":null\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":1,\"sendMsgType\":\"TextMsg\",\"content\":\"你好\",\"groupid\":0,\"atUser\":0}", - "id": "2e777f80-e53b-4d23-8031-26a2db334d23", - "name": "发送好友文字消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"StartIndex\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "GetQQUserList" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "获取好友列表\n返回json中 StartIndex == Friend_count 说明拉取好友列表完毕 否则 传入StartIndex 继续请求", - "id": "3f515497-40cc-45f3-ad9c-4e1c686625b5", - "name": "获取好友列表", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":1,\n \"sendMsgType\":\"VoiceMsg\",\n \"content\":\"\",\n \"groupid\":0,\n \"atUser\":0,\n \"voiceUrl\":\"http://grouptalk.c2c.qq.com/?ver=0&rkey=3062020101045b305902010102010102041fdef8ae042439416931554e5142585a78545558475261667950504538536173545f4e3275356d77435202045dca23b1041f0000000866696c6574797065000000013100000005636f64656300000001310400&filetype=1&voice_codec=1\",\n \"voiceBase64Buf\":\"\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":1,\"sendMsgType\":\"VoiceMsg\",\"content\":\"\",\"groupid\":0,\"atUser\":0,\"voiceUrl\":\"音频Url网络地址\",\"voiceBase64Buf\":\"经过base64的音频buf\"}音频大小控制在1m voiceUrl 和voiceBase64Buf 二选一", - "id": "f4fdf04c-2018-450e-8446-920f543e4d95", - "name": "发送好友语音消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":1,\n \"sendMsgType\":\"PicMsg\",\n \"content\":\"12313\",\n \"groupid\":0,\n \"atUser\":0,\n \"picUrl\":\"http://gchat.qpic.cn/gchatpic_new/304980169/636617867-2534335053-8E6B948D1E7A4F96DB5F9C4A6050FB02/0?vuin=123456789&term=255&pictype=0\",\n \"picBase64Buf\":\"\",\n \"fileMd5\":\"\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":1,\"sendMsgType\":\"VoiceMsg\",\"content\":\"123\",\"groupid\":0,\"atUser\":0,\"picUrl\":\"图片Url网络地址\",\"picBase64Buf\":\"经过base64的图片buf\",\"fileMd5\":\"经过base64处理过\"}图片大小控制在1m picUrl 和picBase64Buf fileMd5 3选一 优先处理fileMd5字段", - "id": "ef29ad66-090a-47d2-92f7-2277fdb8b696", - "name": "发送好友图片消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"ActionType\":3,\n \"GroupID\":123456789 ,\n \"ActionUserID\":123456,\n \"Content\":\"你好通过一下\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "GroupMgr" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "添加群组 新号老号控制好频率 ActionType =8 拉人入群 -->{\"ActionType\":8,\"GroupID\":123456,\"ActionUserID\":987654,\"Content\":\"\"}\nActionType=1 加入群聊 -->{\"ActionType\":1,\"GroupID\":123456,\"ActionUserID\":0,\"Content\":\"你好通过一下\"}\nActionType=2 退出群聊 -->{\"ActionType\":2,\"GroupID\":123456,\"ActionUserID\":0,\"Content\":\"\"}\nActionType=3 移出群聊 -->{\"ActionType\":3,\"GroupID\":123456,\"ActionUserID\":0,\"Content\":\"\"}", - "id": "7ff248f0-12f7-42a9-8fd8-9c639dbd7ec0", - "name": "QQ群功能包加群拉人..", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.1", - "name": "GET" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\"GroupID\":123456789,\"Content\":\"新人学习\"}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [] - }, - "host": "${host}", - "path": "/v1/ClusterInfo" - }, - "description": "", - "id": "535d5fd3-3317-478a-8a93-a7d085b9adcd", - "name": "获取当前集群Cluster信息", - "headers": [] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":2,\n \"sendMsgType\":\"TextMsg\",\n \"content\":\"[ATALL()]\",\n \"groupid\":0,\n \"atUser\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":2,\"sendMsgType\":\"TextMsg\",\"content\":\"你好\",\"groupid\":0,\"atUser\":QQ号,不默认为0}", - "id": "0cb28e92-c09f-44be-94cf-d0b0d95264c6", - "name": "发送群文字消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":2,\n \"sendMsgType\":\"VoiceMsg\",\n \"content\":\"\",\n \"groupid\":0,\n \"atUser\":0,\n \"voiceUrl\":\"http://grouptalk.c2c.qq.com/?ver=0&rkey=3062020101045b305902010102010102041fdef8ae042439416931704d5142586c536d78706a6444676d61537a686d504f645853705f416873475902045dcf5627041f0000000866696c6574797065000000013100000005636f64656300000001310400&filetype=1&voice_codec=1\",\n \"voiceBase64Buf\":\"\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":2,\"sendMsgType\":\"VoiceMsg\",\"content\":\"\",\"groupid\":0,\"atUser\":0,\"voiceUrl\":\"音频Url网络地址\",\"voiceBase64Buf\":\"经过base64的音频buf\"}音频大小控制在1m voiceUrl 和voiceBase64Buf 二选一", - "id": "93ae6021-55de-422c-bc18-e500e2f96258", - "name": "发送群语音消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":2,\n \"sendMsgType\":\"PicMsg\",\n \"content\":\"[PICFLAG]上传大图pass[表情219][GETUSERNICK(123456789)]\",\n \"groupid\":0,\n \"atUser\":0,\n \"picUrl\":\"http://i0.hdslb.com/bfs/bangumi/ec463f524ec43b12f64a15450709aae8df837edc.jpg\",\n \"picBase64Buf\":\"\",\n \"fileMd5\":\"\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":1,\"sendMsgType\":\"PicMsg\",\"content\":\"文字不为空则为图文消息否则是图片\",\"groupid\":0,\"atUser\":0,\"picUrl\":\"图片Url网络地址\",\"picBase64Buf\":\"经过base64的图片buf\",\"fileMd5\":\"经过base64处理过\"}图片大小控制在1m picUrl 和picBase64Buf 二选一 优先处理fileMd5字段", - "id": "585f19ba-bb37-48c4-a9b3-8892e4d83ef4", - "name": "发送群图片消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":3,\n \"sendMsgType\":\"TextMsg\",\n \"content\":\"你好\",\n \"groupid\":123456789,\n \"atUser\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":私聊QQ号\"sendToType\":2,\"sendMsgType\":\"TextMsg\",\"content\":\"你好\",\"groupid\":Group🆔,\"atUser\":QQ号不默认为0}", - "id": "457a3227-5437-4a1b-937a-8d8278843d58", - "name": "发送私聊字消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":3,\n \"sendMsgType\":\"VoiceMsg\",\n \"content\":\"\",\n \"groupid\":123456789,\n \"atUser\":0,\n \"voiceUrl\":\"http://isure.stream.qqmusic.qq.com/C400000QAQM72uuIEZ.m4a?guid=7135428428&vkey=AC9C468669E71F6A1CB067BCE7F74DA651187E3462C344C186E55CD49C49732320D12DF2CA44E0A7C7B229FDDC01F37133066D1CF67B76CA&uin=310&fromtag=66\",\n \"voiceBase64Buf\":\"\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":私聊QQ号,\"sendToType\":2,\"sendMsgType\":\"VoiceMsg\",\"content\":\"\",\"groupid\":Group🆔,\"atUser\":0,\"voiceUrl\":\"音频Url网络地址\",\"voiceBase64Buf\":\"经过base64的音频buf\"}音频大小控制在1m voiceUrl 和voiceBase64Buf 二选一", - "id": "59492bfb-67eb-421e-8e41-36f15bf23ee6", - "name": "发送私聊语音消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":3,\n \"sendMsgType\":\"PicMsg\",\n \"content\":\"图文测试\",\n \"groupid\":123456789,\n \"atUser\":0,\n \"picUrl\":\"http://gchat.qpic.cn/gchatpic_new/2384036992/547525064-2534335053-FC6A74458D480B7E86A4263689510A8D/0?vuin=123456789&term=255&pictype=0\",\n \"picBase64Buf\":\"\",\n \"fileMd5\":\"\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":私聊QQ号,\"sendToType\":1,\"sendMsgType\":\"PicMsg\",\"content\":\"文字不为空则为图文消息否则是图片\",\"groupid\":Group🆔,\"atUser\":0,\"picUrl\":\"图片Url网络地址\",\"picBase64Buf\":\"经过base64的图片buf\"}图片大小控制在1m picUrl 和picBase64Buf 二选一1m", - "id": "e22b3052-7929-43d4-9adf-16bd9831f0d4", - "name": "发送私聊图片消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"Content\":\"深圳\",\n \"Page\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SearchGroup" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"Content\":\"深圳\",\"Page\":0}", - "id": "acc0a4f4-ae41-4bab-bcd8-df195ffdff4d", - "name": "搜索QQ群组", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"User\":0,\n \"PassWord\":\"0\",\n \"VerityCode\":\"\",\n \"ClusterIP\":\"\",\n \"UserSec\":\"\"\n}" - }, - "retryConfiguration": { - "intervalInSeconds": 10, - "retryCount": 1 - }, - "uri": { - "query": { - "delimiter": "&", - "items": [] - }, - "host": "${host}", - "path": "/v1/aut" - }, - "description": "1⃣️首次登陆 {\"User\":111111,\"PassWord\":\"222222\",\"VerityCode\":\"\",\"ClusterIP\",\"\"}\n2⃣️带验证码登陆 {\"User\":111111,\"PassWord\":\"222222\",\"VerityCode\":\"1234\",,\"ClusterIP\",\"\"} 4位字符 字母 验证码错误将会被刷新\n登陆请在30秒内完成 否则将自动释放链接", - "id": "e827d985-2a15-449a-882d-dfc1cb791525", - "name": "账号密码登陆", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ], - "assertions": [] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\n \"NextToken\":\"\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "GetGroupList" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "获取群列表\n首次请求 {\"NextToken\":\"\"} 第二次请求NextToken 请填值 返回json 中 TroopList==null 时说明拉取群列表完成", - "id": "028de417-2da4-4f20-a867-e5fe71de249a", - "name": "获取群列表", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupUin\":570065685,\n \"LastUin\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "GetGroupUserList" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "获取群列表\n首次请求{\"GroupUin\":0,\"LastUin\":0}第二次请求NextToken 请填值\n返回json 中 LastUin==0 时说明拉取群成员列表完成", - "id": "612285f1-e44f-406c-ad98-776a3f9b5f57", - "name": "获取群成员列表", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.1", - "name": "GET" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\"GroupUin\":949630970,\"LastUin\":1149427004}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - } - ] - }, - "host": "${host}", - "path": "/v1/RefreshKeys" - }, - "description": "用于刷新用户相关Session和Cookies", - "id": "e5692a6a-ce32-4132-be59-ed187b60bea8", - "name": "刷新Key二次登陆", - "headers": [] - } - }, - { - "entity": { - "type": "Request", - "method": { - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.1", - "name": "GET" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\"GroupUin\":949630970,\"LastUin\":1149427004}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "fuin", - "value": "${CurrentQQ}" - } - ] - }, - "host": "${host}", - "path": "/v1/GetLevelInfo" - }, - "description": "Fuin为要查询的QQ号", - "id": "0ead2f53-ac0a-4115-985f-c89ab98b7273", - "name": "查询用户等级", - "headers": [] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"UserID\":123456789\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "QQZan" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"Uid\":0,\"Fid\":0} fid 需要被赞的QQ Uid 触发动作的QQ号 详情看Lua代码", - "id": "18d956ed-b8e2-4080-9295-3de2970c2855", - "name": "测试赞", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.1", - "name": "GET" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\"Uid\":0,\"Fid\":0}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "GetBalance" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "6727fad2-96b4-4787-9e69-ee25a7687753", - "name": "获取钱包余额相关Key", - "headers": [] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":1,\n \"Paypass\":\"123456\",\n \"TotalNum\":1,\n \"Wishing\":\"linux\",\n \"Skinid\":1435,\n \"RecvType\":3,\n \"RedType\":6\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1435,\"RecvType\":3,\"RedType\":6}", - "id": "2044d781-63ed-46f9-bc80-88a14ecea2f8", - "name": "发送群专属红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"TransferUid\":123456789,\n \"Amount\":1,\n \"Paypass\":\"123456\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "Transfer" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"TransferUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\"}", - "id": "e6bd9fa0-390d-4498-bb00-72fbe52e7330", - "name": "转账", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"Hb_type\":1,\n \"Total_num\":1,\n \"Amount\":1,\n \"Content\":\"猜猜看\",\n \"Answer\":\"\",\n \"Paypass\":\"123456\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendQzoneRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "hb_type=3 密码红包\nhb_type=2 设置问题\nhb_type=1 口令红包{\"Hb_type\":1,\"Total_num\":1,\"Amount\":1,\"Content\":\"猜猜看\",\"Answer\":\"\",\"Paypass\":\"123456\"}", - "id": "c0698105-3c62-4862-ab18-1c9d56a6a02d", - "name": "发送QQ空间口令红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"Hb_type\":3,\n \"Total_num\":1,\n \"Amount\":1,\n \"Content\":\"猜猜看\",\n \"Answer\":\"我是密码\",\n \"Paypass\":\"123456\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendQzoneRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "hb_type=3 密码红包\nhb_type=2 设置问题\nhb_type=1 口令红包{\"Hb_type\":1,\"Total_num\":1,\"Amount\":1,\"Content\":\"猜猜看\",\"Answer\":\"\",\"Paypass\":\"123456\"}", - "id": "236fe6b7-7988-429f-ac42-5fd4255ff6b1", - "name": "发送QQ空间密码红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"Hb_type\":2,\n \"Total_num\":1,\n \"Amount\":1,\n \"Content\":\"我是问题?\",\n \"Answer\":\"\",\n \"Paypass\":\"123456\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendQzoneRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "hb_type=3 密码红包\nhb_type=2 设置问题\nhb_type=1 口令红包{\"Hb_type\":1,\"Total_num\":1,\"Amount\":1,\"Content\":\"猜猜看\",\"Answer\":\"\",\"Paypass\":\"123456\"}", - "id": "4f2311d1-5a0a-4ebb-8805-9247a01569d5", - "name": "发送QQ空间问题红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"AddUserUid\":123456789,\n \"FromGroupID\":123456789,\n \"AddFromSource\":2004,\n \"Content\":\"加好友,互助浇水\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "AddQQUser" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "添加好友 新号老号控制好频率 AddFromSource--来源2011 空间2020 QQ搜索 2004群组 2005讨论组", - "id": "48090b8f-cc71-4437-aabb-30e0f321f0b6", - "name": "添加QQ好友", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"DeviceType\":\"iPod5,1\",\n \"Content\":\"test \",\n \"PicUrl\":[\n \"http://imgcache.qq.com/ac/qqweather/image/2020/6/27.png?ptype=lunar\"]\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - } - ] - }, - "host": "${host}", - "path": "/v1/QzoneNewService/Publish" - }, - "description": "{\"RevGroupid\":123456789,\"SingleUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\"}", - "id": "8b8c5287-0c5a-423e-a642-2915b4d80e0b", - "name": "发送QQ空间图文", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"ConsoleLevel\":8,\n \"FileLevel\":3\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [] - }, - "host": "${host}", - "path": "/v1/Log" - }, - "description": "{\"ConsoleLevel\":-1,\"FileLevel\":3}\nConsoleLevel -1关闭所有输出 8 开启所有输出\nFileLevel 3 只输出错误日志到文件 8不输出任何日志文件", - "id": "ce240b65-320f-4706-8e57-ffedfe65a125", - "name": "全局Log", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.1", - "name": "GET" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\"ConsoleLevel\":8,\"FileLevel\":3}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [] - }, - "host": "${host}", - "path": "/v1/Login/GetQRcode" - }, - "description": "", - "id": "ff487688-07a5-4a2c-97ef-251ee50e0f47", - "name": "获取登陆二维码", - "headers": [] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":0,\n \"Amount\":1,\n \"Paypass\":\"123456\",\n \"TotalNum\":1,\n \"Wishing\":\"拼手气红包\",\n \"Skinid\":1435,\n \"RecvType\":3,\n \"RedType\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":0,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1435,\"RecvType\":3,\"RedType\":0}", - "id": "2766fe13-f77d-4654-ae2a-f91bccf03646", - "name": "发送群拼手气红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":4,\n \"Paypass\":\"123456\",\n \"TotalNum\":2,\n \"Wishing\":\"普通红包\",\n \"Skinid\":1435,\n \"RecvType\":3,\n \"RedType\":1\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1435,\"RecvType\":3,\"RedType\":1}", - "id": "0cb6372e-33be-42b9-9eca-3d9c4bc2e451", - "name": "发送群普通红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":2,\n \"Paypass\":\"123456\",\n \"TotalNum\":2,\n \"Wishing\":\"LinuxQQ\",\n \"Skinid\":1435,\n \"RecvType\":3,\n \"RedType\":2\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1435,\"RecvType\":3,\"RedType\":2}", - "id": "a657a312-9d7a-430e-896e-d150cdd1b3e2", - "name": "发送群口令红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":4,\n \"Paypass\":\"123456\",\n \"TotalNum\":2,\n \"Wishing\":\"语音红包\",\n \"Skinid\":1435,\n \"RecvType\":3,\n \"RedType\":3\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1435,\"RecvType\":3,\"RedType\":3}", - "id": "60cdd836-349d-49c4-b8d5-d3081e36fba1", - "name": "发送群语音红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":4,\n \"Paypass\":\"123456\",\n \"TotalNum\":2,\n \"Wishing\":\"表情红包\",\n \"Skinid\":1435,\n \"RecvType\":3,\n \"RedType\":4\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1365,\"RecvType\":3,\"RedType\":4}", - "id": "b6172e7b-9daf-41ad-ac2b-7ab5ad44e438", - "name": "发送群表情红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":4,\n \"Paypass\":\"123456\",\n \"TotalNum\":2,\n \"Wishing\":\"一个顶俩\",\n \"Skinid\":1435,\n \"RecvType\":3,\n \"RedType\":5\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"一个顶俩\",\"Skinid\":1365,\"RecvType\":3,\"RedType\":5}", - "id": "f58e298e-47b8-44ed-b85d-f6830da0ff10", - "name": "发送群成语红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":1,\n \"Paypass\":\"123456\",\n \"TotalNum\":1,\n \"Wishing\":\"测试标题\",\n \"Skinid\":1435,\n \"RecvType\":1,\n \"RedType\":1\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1435,\"RecvType\":1,\"RedType\":1}", - "id": "ddac286c-6c06-443d-ae39-7bc7574e460a", - "name": "发送个人普通红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"RevGroupid\":123456789,\n \"RecvUid\":123456789,\n \"Amount\":4,\n \"Paypass\":\"123456\",\n \"TotalNum\":2,\n \"Wishing\":\"测试标题\",\n \"Skinid\":1435,\n \"RecvType\":1,\n \"RedType\":2\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendSingleRed" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"RevGroupid\":123456789,\"RecvUid\":123456789,\"Amount\":1,\"Paypass\":\"123456\",\"TotalNum\":1,\"Wishing\":\"测试标题\",\"Skinid\":1435,\"RecvType\":1,\"RedType\":2}", - "id": "9c87d35b-4c24-443a-9d10-8bd30727b54d", - "name": "发送个人口令红包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\n \"GroupID\":123456789,\n \"MsgSeq\":3981,\n \"MsgRandom\":2135872681\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "RevokeMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"GroupID\":0,\"MsgSeq\":0,\"MsgRandom\":0}参数来自于 lua ReceiveGroupMsg 事件 data 数据 data.MsgSeq, data.MsgRandom 可撤回自己发的消息 或管理员权限撤回群成员消息", - "id": "bfecb60e-666f-4b2c-81a5-24fef6ef810d", - "name": "撤回群成员消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\n \"ShutUpType\":1,\n \"GroupID\":123456789,\n \"ShutUid\":0,\n \"ShutTime\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "ShutUp" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "ShutUpType==0 禁言群成员 {\"ShutUpType\":0,\"GroupID\":群ID,\"ShutUid\":被禁言UID,\"ShutTime\":44640(禁言时间)} 禁言时间单位为分钟 ShutTime=0 取消禁言\nShutUpType==1 全员禁言 ShutUid=15 全员禁言 ShutUid=0 关闭全员禁言 {\"ShutUpType\":1,\"GroupID\":123456789,\"ShutUid\":0,\"ShutTime\":0}", - "id": "ffba533e-7e68-411d-aabe-ca980278e645", - "name": "禁言群成员或全员禁言", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\n \"GroupID\":123456789,\n \"Title\":\"1\",\n \"Text\":\"1\",\n \"Pinned\":0,\n \"Type\":20\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - } - ] - }, - "host": "${host}", - "path": "/v1/Group/Announce" - }, - "description": "{\"GroupID\":群ID,\"Title\":\"可🈳️\",\"Text\":\"描述\",\"Pinned\":0,\"Type\":20}\n例子\nPinned 是否置顶 1置顶0不置顶\nType 是否发送新成员 0 不发送20 发送\n{\"GroupID\":123456789,\"Title\":\"1\",\"Text\":\"1\",\"Pinned\":0,\"Type\":20}", - "id": "77f6cc39-298a-41b8-bc9c-4390dc9b0f8a", - "name": "设置群公告", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\n \"toUser\":901924844,\n \"sendToType\":2,\n \"sendMsgType\":\"ReplayMsg\",\n \"content\":\"数据统计1\",\n \"groupid\":0,\n \"atUser\":0,\n \"replayInfo\":{\n \"MsgSeq\":449,\n \"MsgTime\":1571195939,\n \"UserID\":123456789,\n \"RawContent\":\"回复测试\"\n }\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "12e07e17-ec89-4db8-aff7-f56145a2a2b4", - "name": "回复类型消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\n \"Flag\":false\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "LogOut" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"Flag\":false}不删除用户配置文件 true 删除用户配置文件", - "id": "e070f4c9-e208-4e23-a00e-ae1f206aa954", - "name": "退出指定QQ", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.1", - "name": "GET" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBodyEditorHeight": 240, - "textBody": "{\"Flag\":false}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "GetUserCook" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"Flag\":false}", - "id": "717a3dcf-2a5f-4a2d-874e-00099311d519", - "name": "获取QQ相关ck", - "headers": [] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"UserID\":103259869,\n \"FromType\":2004,\n \"Field_9\":1571036852000000,\n \"Content\":\"收到好友请求 内容我是QQ大冰来源来自QQ群\",\n \"FromGroupId\":123456789,\n \"FromGroupName\":\"IOTQQ交流群\",\n \"Action\":2\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "DealFriend" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "请求参数来自 WebScoket的推送\n --Action 1忽略2同意3拒绝\n{\"CurrentPacket\":{\"WebConnId\":\"fi4LFS7_uy8ORrKDQN5Z\",\"Data\":{\"EventData\":{\"UserID\":103259869,\"FromType\":2004,\"Field_9\":1571036852000000,\"Content\":\"收到好友请求 内容我是QQ大冰来源来自QQ群\",\"FromGroupId\":123456789,\"FromGroupName\":\"IOTQQ交流群\",\"Action\":2},\"EventMsg\":{\"FromUin\":103259869,\"ToUin\":123456789,\"MsgType\":\"ON_EVENT_FRIEND_ADDED\",\"Content\":\"收到好友请求 内容我是QQ大冰来源来自QQ群\",\"RedBaginfo\":null},\"EventName\":\"ON_EVENT_FRIEND_ADD\"}},\"CurrentQQ\":123456789}\n", - "id": "2bf06bc5-38ed-4428-b700-fc1c68d8a1e9", - "name": "处理好友请求", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"Tittle\":\"大吉大利\",\n \"Des\":\"赶紧点击拆开吧\",\n \"RedType\":6,\n \"Listid\":\"10000448011910163700109887578400\",\n \"Authkey\":\"7ed906141524a1edde40714fc8c8510005\",\n \"Channel\":1,\n \"StingIndex\":\"NmE4YzQ3ZjgwOGJkNjc3ODAwODUxMzlhM2VjMmFhZTE=\",\n \"Token_17_2\":\"fZXIb1y5rilopb5j/yImCC0EQNeMDxRe2gtDEOMTFG0=\",\n \"Token_17_3\":\"YjU0NmVjYTdjY2JhODMwYTljY2EwZjA5M2NhNDZhMGM=\",\n \"FromUin\":123456789,\n \"FromType\":1\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "ModifyGroupCard" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "id": "84c6c53a-59ab-4373-9ae2-2c00af3bd486", - "name": "打开RED包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"Seq\":1570980892762275,\n \"Type\":1,\n \"MsgTypeStr\":\"邀请加群\",\n \"Who\":123456789,\n \"WhoName\":\"QQ棒棒冰\",\n \"MsgStatusStr\":\"\",\n \"Flag_7\":8192,\n \"Flag_8\":512,\n \"GroupId\":570065685,\n \"GroupName\":\"Rust编程语言社区3群\",\n \"InviteUin\":123456789,\n \"InviteName\":\"Kar98k\",\n \"Action\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "AnswerInviteGroup" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "请求参数来自 WebScoket的推送\n--11 agree 14 忽略 21 disagree\n{\"CurrentPacket\":{\"WebConnId\":\"3x1VZ6DlCiNQP1khIB43\",\"Data\":{\"EventData\":{\"Seq\":1570980892762275,\"Type\":1,\"MsgTypeStr\":\"邀请加群\",\"Who\":123456789,\"WhoName\":\"QQ棒棒冰\",\"MsgStatusStr\":\"\",\"Flag_7\":8192,\"Flag_8\":512,\"GroupId\":570065685,\"GroupName\":\"Rust编程语言社区3群\",\"InviteUin\":123456789,\"InviteName\":\"Kar98k\",\"Action\":0},\"EventMsg\":{\"FromUin\":570065685,\"ToUin\":123456789,\"MsgType\":\"ON_EVENT_GROUP_INVITED\",\"Content\":\"邀请加群\",\"RedBaginfo\":null},\"EventName\":\"ON_EVENT_GROUP_INVITED\"}},\"CurrentQQ\":123456789}\n ", - "id": "e7e6260b-70c2-447a-ad86-ebbda6917377", - "name": "处理群邀请", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupID\":123456789,\n \"UserID\":123456789,\n \"NewNick\":\"8888测试名片999999999\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "ModifyGroupCard" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"GroupID\":123456789,\"UserID\":123456789,\"NewNick\":\"测试名片999999999\"}", - "id": "50c2e4b0-173d-4f46-a290-91989d8f3a11", - "name": "修改群名片", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupID\":123456789,\n \"UserID\":123456789,\n \"NewTitle\":\"996\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SetUniqueTitle" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "有频率限制 \nNewTitle =\"\" 则取消头衔\n{\"GroupID\":123456789,\"UserID\":123456789,\"NewTitle\":\"666669\"}", - "id": "8dfabe8d-2d6e-4e25-ba81-19c44a929fd1", - "name": "设置头衔", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"UserID\":123456789\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "GetUserInfo" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "有频率限制 \nNewTitle =\"\" 则取消头衔\n{\"GroupID\":123456789,\"UserID\":123456789,\"NewTitle\":\"666669\"}", - "id": "1a128e6a-66c7-4016-aa24-5bd9bcd1fcc5", - "name": "获取任意用户信息昵称头像等", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"Content\":\"深圳\",\n \"Page\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "OidbSvc.0x8ba_31" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "请求参数来自 WebScoket的推送\n --Action 1忽略2同意3拒绝\n{\"CurrentPacket\":{\"WebConnId\":\"fi4LFS7_uy8ORrKDQN5Z\",\"Data\":{\"EventData\":{\"UserID\":103259869,\"FromType\":2004,\"Field_9\":1571036852000000,\"Content\":\"收到好友请求 内容我是QQ大冰来源来自QQ群\",\"FromGroupId\":123456789,\"FromGroupName\":\"IOTQQ交流群\",\"Action\":2},\"EventMsg\":{\"FromUin\":103259869,\"ToUin\":123456789,\"MsgType\":\"ON_EVENT_FRIEND_ADDED\",\"Content\":\"收到好友请求 内容我是QQ大冰来源来自QQ群\",\"RedBaginfo\":null},\"EventName\":\"ON_EVENT_FRIEND_ADD\"}},\"CurrentQQ\":123456789}\n", - "id": "ca84e899-ee7e-4358-bf0e-6485c2445152", - "name": "通用Call搜索群组", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupID\":123456789,\n \"UserID\":123456789,\n \"NewNick\":\"0000001\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "friendlist.ModifyGroupCardReq" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "请求参数来自 WebScoket的推送\n --Action 1忽略2同意3拒绝\n{\"CurrentPacket\":{\"WebConnId\":\"fi4LFS7_uy8ORrKDQN5Z\",\"Data\":{\"EventData\":{\"UserID\":103259869,\"FromType\":2004,\"Field_9\":1571036852000000,\"Content\":\"收到好友请求 内容我是QQ大冰来源来自QQ群\",\"FromGroupId\":123456789,\"FromGroupName\":\"IOTQQ交流群\",\"Action\":2},\"EventMsg\":{\"FromUin\":103259869,\"ToUin\":123456789,\"MsgType\":\"ON_EVENT_FRIEND_ADDED\",\"Content\":\"收到好友请求 内容我是QQ大冰来源来自QQ群\",\"RedBaginfo\":null},\"EventName\":\"ON_EVENT_FRIEND_ADD\"}},\"CurrentQQ\":123456789}\n", - "id": "ea53e3d6-eab7-475b-999d-b944ed8f9c00", - "name": "通用Call修改群名片", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"StartIndex\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "friendlist.GetFriendListReq" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "50870e98-2f63-410d-b790-19f1d1ef115b", - "name": "通用Call获取好友列表", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"NextToken\":\"AwAAAAD/////ADI=\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "friendlist.GetTroopListReqV2" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "bd2c8ca9-04ac-423d-aeb0-88ce02ccf592", - "name": "通用Call群列表", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupUin\":397520425,\n \"LastUin\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "friendlist.GetTroopMemberListReq" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "4d92283b-ef7c-4b3d-95ba-2b256d5122cb", - "name": "通用Call群成员", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupID\":123456789,\n \"UserID\":123456789,\n \"NewTitle\":\"997\"\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "OidbSvc.0x8fc_2" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "9fac5ccb-4fc9-486a-a733-7abcf14e1034", - "name": "通用Call设置群头衔", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupID\":123456789,\n \"Switch\":0\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "OidbSvc.0x89a_0" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"GroupID\":123456789,\"Switch\":0} Switch=0关闭全群禁言 Switch=15开启全群禁言", - "id": "0cda06a4-8e08-42c7-bf8f-506d3e45fe4a", - "name": "通用Call全群禁言", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\"GroupID\":123456789,\"ShutUpUserID\":6773509,\"ShutTime\":0}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "OidbSvc.0x570_8" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"GroupID\":123456789,\"ShutUpUserID\":1234567,\"ShutTime\":0} ShutTime单位为分钟 0 取消禁言", - "id": "6804961b-f1de-4fd2-abc4-30d50c03d520", - "name": "通用Call群成员禁言", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"UserID\":123456789\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "OidbSvc.0x7e5_4" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "1cc9b3b1-2de2-4318-a401-8118382a5e56", - "name": "通用Call点赞包", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"GroupID\":123456789,\n \"MsgSeq\":3747,\n \"MsgRandom\":1786189853\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "PbMessageSvc.PbMsgWithDraw" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "44f2e9e1-3a94-4cf6-89f2-1be9a69b354a", - "name": "通用Call撤回消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\"GroupID\":123456789,\"VideoUrl\":\"MzA1MTAyMDEwMDA0MzYzMDM0MDIwMTAwMDIwNDAwYTk0NDMzMDIwMzdhMWFmZDAyMDRhNzNlNWI2NTAyMDQ1ZGU5YjcxMzA0MTA0MzZkN2M1N2NjZWIxZjYzZDE4OTY1NDM2MDZiOTEwMjAyMDM3YTFkYjkwMjAxMDAwNDE0MDAwMDAwMDg2NjY5NmM2NTc0Nzk3MDY1MDAwMDAwMDQzMTMwMzAzMw==\",\"VideoMd5\":\"Q218V8zrH2PRiWVDYGuRAg==\"}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "PttCenterSvr.ShortVideoDownReq" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "", - "id": "b1909d96-f4b9-48f5-9985-9b92cbf576ac", - "name": "通用Call获取短视频Url", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":1,\n \"sendMsgType\":\"ForwordMsg\",\n \"content\":\"\",\n \"groupid\":123456789,\n \"atUser\":0,\n \"forwordBuf\":\"CqYBMzA1MTAyMDEwMDA0MzYzMDM0MDIwMTAwMDIwNDY1NWI2MTM2MDIwMzdhMTNmNTAyMDQxOTRjOTc3YjAyMDQ1ZGViNGVjMTA0MTBhZTE0Zjc0YjUwZjMzZTZkOTIzZDcxODUxNTUyN2ZjZjAyMDM3YTFhZmQwMjAxMDAwNDE0MDAwMDAwMDg2NjY5NmM2NTc0Nzk3MDY1MDAwMDAwMDQzMTMwMzAzMxIQrhT3S1DzPm2SPXGFFVJ/zxoIdGVzdC5tcDQgAigBMIOyLjjQBUCACkoQeLU4KcV/8OgD0dcyur4jbVIGY2FtZXJhWLajCGABeACQAQCYAQA=\",\n \"forwordField\":19\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":2,\"sendMsgType\":\"TextMsg\",\"content\":\"你好\",\"groupid\":0,\"atUser\":QQ号,不默认为0}", - "id": "7ddd8ecf-1a0a-4538-8876-48518f9816bb", - "name": "发送群小视频(转发 不支持上传)消息", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - }, - { - "entity": { - "type": "Request", - "method": { - "requestBody": true, - "link": "http://tools.ietf.org/html/rfc7231#section-4.3.3", - "name": "POST" - }, - "body": { - "formBody": { - "overrideContentType": true, - "encoding": "application/x-www-form-urlencoded", - "items": [] - }, - "bodyType": "Text", - "textBody": "{\n \"toUser\":123456789,\n \"sendToType\":2,\n \"sendMsgType\":\"ForwordMsg\",\n \"content\":\"\",\n \"groupid\":0,\n \"atUser\":0,\n \"forwordBuf\":\"Cghb5Y2W6JCMXRAGGAEiEPT8daec5EJJy8A32ytRrDsogL4MMAM6EDJjNjI3NWIzMmM2M2EwMTlIAFDIAVjIAWoSCgYIrAIQrAIKBgjIARDIAUAB\",\n \"forwordField\":6\n}" - }, - "uri": { - "query": { - "delimiter": "&", - "items": [ - { - "enabled": true, - "name": "qq", - "value": "${CurrentQQ}" - }, - { - "enabled": true, - "name": "funcname", - "value": "SendMsg" - }, - { - "enabled": true, - "name": "timeout", - "value": "10" - } - ] - }, - "host": "${host}", - "path": "/v1/LuaApiCaller" - }, - "description": "{\"toUser\":QQ号或群Group🆔,\"sendToType\":2,\"sendMsgType\":\"TextMsg\",\"content\":\"你好\",\"groupid\":0,\"atUser\":QQ号,不默认为0}", - "id": "f913c214-d9a6-43e9-99b7-674a25a7bce8", - "name": "发送大表情", - "headers": [ - { - "enabled": true, - "name": "Content-Type", - "value": "application/json" - } - ] - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/WxDiceGames.lua b/WxDiceGames.lua deleted file mode 100644 index 8c8797d..0000000 --- a/WxDiceGames.lua +++ /dev/null @@ -1,236 +0,0 @@ -local log = require("log") -local json = require("json") -local Api = require("coreApi") -local http = require("http") -local mysql = require("mysql") -MYSQL_IP = "127.0.0.1" ---MYSQL_IP = "192.168.1.12" -MYSQL_PORT = 3306 - -function GetConn() - c = mysql.new() - ok, err = c:connect({host = MYSQL_IP, port = MYSQL_PORT, database = "OPQDB", user = "root", password = "123456"}) - if err ~= nil then - log.error("mysql err %v", err) - return 1 - end -end - ---获取用户积分等信息 -function GetSQLCode(checkWxid) - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], checkWxid, ToUserName) - res, err = c:query(sqlstr) --存在 - if err ~= nil then - log.error("%s", err) - return nil - end - - if #res ~= 0 then - return res - end -- 不存在 - return nil -end ---每个插件必须实现该事件 -function ReceiveWeChatMsg(CurrentWxid, data) - if data.FromUserName == CurrentWxid then - ToUserName = data.ToUserName - else - ToUserName = data.FromUserName - end - wxid = "" - if string.find(ToUserName, "@chatroom") then - wxid = data.ActionUserName - if wxid == "" then - wxid = data.FromUserName - end - else - wxid = data.FromUserName - end - - if GetChatRoom(ToUserName) == nil then - return 1 - end - - if data.MsgType == 47 then - GetUserNick(CurrentWxid, data) - GetConn() - local user_info = GetSQLCode(wxid) - local type = data.Content:match('gameext type="(%d+)" content') - local content = data.Content:match(' content="(%d+)"') - if type == "1" then --猜拳 - --3-->布 2-->石头 1--剪刀 - end - - if type == "2" then --骰子 - - local num = "" - if content == "8" then - num = "5" - end - if content == "7" then - num = "4" - end - if content == "9" then - num = "6" - end - if content == "4" then - num = "1" - end - if content == "5" then - num = "2" - end - if content == "6" then - num = "3" - end - if num == "" then - return 1 - end - - if user_info ~= nil then - local rndCode = GenRandInt(2, 10) - local Opcode = tonumber(num) * rndCode - local XmlStr = string.format("@%s摇骰子🎲摇出来了[天啊]%s倍 * %d = %d 积分", Nick, num, rndCode, Opcode) - local maybe = GenRandInt(1, 100) - if maybe >= 85 and maybe <= 95 then -- 触发buf 且摇骰子次数-1 - local MyINTipsStr = { - "@%s\n[社会社会]用力过猛🎲摇飞了,群友直呼🤙🤙🤙", - "@%s\n[旺柴]什么都没摇到", - "@%s\n[哇]摇啊摇,摇啊摇[哇]一下子冒烟了,摇出个俄罗斯大妞来,兴高采烈的拿回家充气去了[皱眉]" - } - XmlStr = string.format(MyINTipsStr[GenRandInt(1, 3)], Nick) - WxSendMsg(CurrentWxid, XmlStr) - sqlstr = - string.format( - [[UPDATE `users_info` SET `DiceCount` = DiceCount-1,`DiceTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - os.time(), - wxid, - ToUserName - ) - c:query(sqlstr) - c.close(c) - return 1 - end - - if user_info[1].DiceCount == nil then -- 首次摇骰子 - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` = OpCode + %d ,`DiceCount` = 2,`DiceTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - Opcode, - os.time(), - wxid, - ToUserName - ) - c:query(sqlstr) - else - local DiceTime = tonumber(user_info[1].DiceTime) - local day = os.date("%d", os.time()) - os.date("%d", DiceTime) - if day == 0 then - if tonumber(user_info[1].DiceCount) > 0 then --一天只能摇3次 - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` = OpCode + %d ,`DiceCount` = DiceCount - 1,`DiceTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - Opcode, - os.time(), - wxid, - ToUserName - ) - c:query(sqlstr) - else - XmlStr = string.format("@%s每天只能摇3次哦[天啊]~当日摇骰子次数已用完明天再继续摇ba[社会社会]~", Nick) - end - else - sqlstr = - string.format( - [[UPDATE `users_info` SET `OpCode` = OpCode + %d ,`DiceCount` = 2,`DiceTime` = %d WHERE `Uid` = "%s" and `Gid`="%s"]], - Opcode, - os.time(), - wxid, - ToUserName - ) - c:query(sqlstr) - end - end - WxSendMsg(CurrentWxid, XmlStr) - end - end - c.close(c) - end - - return 1 -end ---每个插件必须实现该事件 -function ReceiveWeChatEvents(CurrentWxid, data) - return 1 -end -function GenRandInt(x, y) - --math.randomseed(os.time()) - math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 6))) - num = math.random(x, y) - return num -end -function GetUserNick(CurrentWxid, data) - Nick = data.ActionNickName - if Nick == "" then - UserTable = - Api.GetContact( - CurrentWxid, - { - ChatroomID = ToUserName, - Wxid = {wxid} - } - ) - if UserTable ~= nil then - Nick = UserTable[1].NickName - end - end -end -function WxSendMsg(CurrentWxid, Content) - local str = - string.format( - '<![CDATA[%s]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄', - Content - ) - Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 49, Content = str}) - - --Api.SendMsgNew(CurrentWxid, {ToUserName = ToUserName, MsgType = 1, Content = Content, AtUsers = ""}) -end - -function Sleep(n) - --log.notice("==========Sleep==========\n%d", n) - local t0 = os.clock() - while os.clock() - t0 <= n do - end - --log.notice("==========over Sleep==========\n%d", n) -end - -function GetChatRoom(RoomId) - file = string.format("./Plugins/Games/%s.dat", RoomId) - UserDat = readAll(file) - if UserDat == nil then - else - return UserDat - end - return nil -end -function readAll(filePath) - local f, err = io.open(filePath, "rb") - if err ~= nil then - return nil - end - local content = f:read("*all") - f:close() - return content -end -function writeFile(path, content) - local file = io.open(path, "wb+") - --log.error("%v", err) - if file then - if file:write(content) == nil then - return false - end - io.close(file) - return true - else - return false - end -end diff --git a/WxGuessMusic.lua b/WxGuessMusic.lua deleted file mode 100644 index c24abaf..0000000 --- a/WxGuessMusic.lua +++ /dev/null @@ -1,342 +0,0 @@ -local log = require("log") -local json = require("json") -local Api = require("coreApi") -local http = require("http") -local mysql = require("mysql") - -MYSQL_IP = "127.0.0.1" -MYSQL_PORT = 3306 - -function GetConn() - c = mysql.new() - ok, err = c:connect({host = MYSQL_IP, port = MYSQL_PORT, database = "OPQDB", user = "root", password = "1234566"}) - if err ~= nil then - log.error("mysql err %v", err) - return 1 - end - --log.notice("==========Sleep==========\n%d", n) -end - ---获取用户积分等信息 -function GetSQLCode(checkWxid) - sqlstr = string.format([[select * from users_info where `Uid`= "%s" and `Gid`="%s"]], checkWxid, ToUserName) - res, err = c:query(sqlstr) --存在 - if #res ~= 0 then - return res - end -- 不存在 - return nil -end ---每个插件必须实现该事件 -function ReceiveWeChatMsg(CurrentWxid, data) - if data.FromUserName == CurrentWxid then - ToUserName = data.ToUserName - else - ToUserName = data.FromUserName - end - wxid = "" - if string.find(ToUserName, "@chatroom") then - wxid = data.ActionUserName - if wxid == "" then - wxid = data.FromUserName - end - else - wxid = data.FromUserName - end - - if GetChatRoom(ToUserName) == nil then - return 1 - end - - if data.Content == "猜歌名" then - local music_cfg = GetGuessMusicConfig(ToUserName) - local tips = - string.format( - "🎵猜歌名🎵游戏规则\n3分钟内根据语音猜出正确的歌名\n[耶]猜对➕30分\n[耶]猜错➖30分\n[耶]提示➖5分\n[耶]跳过➖20分\n[耶]歌曲答案➖20分\n[奸笑]支持的指令如下\n[天啊]猜+歌名----不含+号\n[天啊]提示----提示歌曲相关信息\n[天啊]跳过----跳过当前歌曲\n[社会社会]该🎮试运行中不会增减积分" - ) - - WxSendMsg(CurrentWxid, tips) - if music_cfg == nil then --答案文件不存在 创建 - local file_index, music = GenMusic() - Api.SendVoice( - CurrentWxid, - { - ToUserName = ToUserName, - VoiceUrl = string.format("http://192.168.199.63:8097/guess/%d_1.silk", file_index) - } - ) - - WxSendMsg( - CurrentWxid, - string.format("这首歌🎵%d个字\n[哇]回复猜+歌名即可参与(不含+号)\n[哇]如回复指令 猜芒种\n[哇]猜不出来?回复提示试试吧", music.num_answer) - ) - else - if os.time() - music_cfg.guess_time < 300 then --游戏时间过3分钟 - WxSendMsg( - CurrentWxid, - string.format( - "🎮当前正在猜歌游戏中,游戏已进行%s\n[Emm]温馨提示:\n[旺柴]提示----提示歌名相关信息\n[旺柴]跳过----切换歌曲\n[天啊]歌曲答案----正确答案", - SubUnix(os.time(), music_cfg.guess_time) - ) - ) - else - local file_index, music = GenMusic() - Api.SendVoice( - CurrentWxid, - { - ToUserName = ToUserName, - VoiceUrl = string.format("http://192.168.199.63:8097/guess/%d_1.silk", file_index) - } - ) - - WxSendMsg( - CurrentWxid, - string.format("这首歌🎵%d个字\n[哇]回复猜+歌名即可参与(不含+号)\n[哇]如回复指令 猜芒种\n[哇]猜不出来?回复提示试试吧", music.num_answer) - ) - end - end - return 1 - end - - if string.find(data.Content, "猜") then - if CurrentWxid == wxid then - return 1 - end - local keyWords = data.Content:gsub("猜", "") - local music_cfg = GetGuessMusicConfig(ToUserName) - if music_cfg ~= nil then - if os.time() - music_cfg.guess_time < 180 then --在规定的时间内 进行游戏 否则不给予响应 - local tips = "" - if keyWords == music_cfg.answer then - tips = - string.format( - "[社会社会]厉害啊竟然猜对了👍,没错歌名正是:%s\n⌚️思考时间⌚️%s\n即将为您播放下一首歌曲认真猜哦", - music_cfg.answer, - SubUnix(os.time(), music_cfg.guess_time) - ) - WxSendMsg(CurrentWxid, tips) - local file_index, music = GenMusic() - Api.SendVoice( - CurrentWxid, - { - ToUserName = ToUserName, - VoiceUrl = string.format("http://192.168.199.63:8097/guess/%d_1.silk", file_index) - } - ) - - WxSendMsg( - CurrentWxid, - string.format("这首歌🎵%d个字\n[哇]回复猜+歌名即可参与(不含+号)\n[哇]如回复指令 猜芒种", music.num_answer) - ) - return 1 - else - tips = string.format("[打脸]回答❌好好想想?[打脸]实在想不出来就回复一下提示试试把[打脸]") - end - WxSendMsg(CurrentWxid, tips) - return 1 - end - end - end - - if data.Content == "歌曲答案" then - local music_cfg = GetGuessMusicConfig(ToUserName) - if music_cfg ~= nil then - WxSendMsg(CurrentWxid, string.format("✅正确答案是:🎵%s🎵你猜对了嘛", music_cfg.answer)) - return 1 - end - end - - if data.Content == "跳过" or data.Content == "下一曲" or data.Content == "下一首" then - local music_cfg = GetGuessMusicConfig(ToUserName) - if music_cfg ~= nil then - WxSendMsg(CurrentWxid, string.format("你不想知道✅正确的答案吗,这就跳过了[鄙视]")) - local file_index, music = GenMusic() - Api.SendVoice( - CurrentWxid, - { - ToUserName = ToUserName, - VoiceUrl = string.format("http://192.168.199.63:8097/guess/%d_1.silk", file_index) - } - ) - - WxSendMsg( - CurrentWxid, - string.format("这首歌🎵%d个字\n[哇]回复猜+歌名即可参与(不含+号)\n[哇]如回复指令 猜芒种\n[哇]猜不出来?回复提示试试吧", music.num_answer) - ) - return 1 - end - end - - if data.Content == "提示" then - local music_cfg = GetGuessMusicConfig(ToUserName) - if music_cfg ~= nil then --答案文件不存在 创建 - if os.time() - music_cfg.guess_time >= 180 then --游戏超过3分钟 - return 1 - end - if music_cfg.tips_counts == 0 then - Api.SendVoice( - CurrentWxid, - { - ToUserName = ToUserName, - VoiceUrl = string.format("http://192.168.199.63:8097/guess/%d_2.silk", music_cfg.id) - } - ) - music_cfg.tips_counts = music_cfg.tips_counts + 1 - local file = string.format("./Plugins/Games/music_%s.dat", ToUserName) - local write_json = json.encode(music_cfg) - writeFile(file, write_json) - return 1 - end - if music_cfg.tips_counts == 1 then - music_cfg.tips_counts = music_cfg.tips_counts + 1 - - local words = "" - local w_len = #music_cfg.words - - for i = 1, w_len, 1 do - words = words .. music_cfg.words[i] .. "," - end - - local write_json = json.encode(music_cfg) - local file = string.format("./Plugins/Games/music_%s.dat", ToUserName) - writeFile(file, write_json) - WxSendMsg(CurrentWxid, string.format("提示歌名可能的关键字:%s", words)) - return 1 - end - if music_cfg.tips_counts == 2 then - music_cfg.tips_counts = music_cfg.tips_counts + 1 - local write_json = json.encode(music_cfg) - local file = string.format("./Plugins/Games/music_%s.dat", ToUserName) - writeFile(file, write_json) - local tips = "" - if music_cfg.heart_speak ~= nil then - tips = music_cfg.heart_speak - else - tips = music_cfg.artist - end - - WxSendMsg(CurrentWxid, string.format("在提示你一下:%s", tips)) - return 1 - end - if music_cfg.tips_counts >= 3 then - music_cfg.tips_counts = music_cfg.tips_counts + 1 - local write_json = json.encode(music_cfg) - local file = string.format("./Plugins/Games/music_%s.dat", ToUserName) - writeFile(file, write_json) - WxSendMsg(CurrentWxid, "不会把不会吧[Emm]提示了这么多还没猜出来 回复歌曲答案试试把[鄙视]") - end - return 1 - end - end - return 1 -end ---每个插件必须实现该事件 -function ReceiveWeChatEvents(CurrentWxid, data) - return 1 -end - -function GetUserNick(CurrentWxid, data) - Nick = data.ActionNickName - if Nick == "" then - UserTable = - Api.GetContact( - CurrentWxid, - { - ChatroomID = ToUserName, - Wxid = {wxid} - } - ) - if UserTable ~= nil then - Nick = UserTable[1].NickName - end - end -end -function WxSendMsg(CurrentWxid, Content) - --Api.SendAppMsg(CurrentWxid, {ToUserName = ToUserName, MsgType = 49, Content = Content}) - - Api.SendMsgNew(CurrentWxid, {ToUserName = ToUserName, MsgType = 1, Content = Content, AtUsers = ""}) - --<![CDATA[]]>57000001413279805977715132消息来自:IPhone 12 X Max 1024GB📱😄 -end - -function Sleep(n) - --log.notice("==========Sleep==========\n%d", n) - local t0 = os.clock() - while os.clock() - t0 <= n do - end - --log.notice("==========over Sleep==========\n%d", n) -end - -function GetChatRoom(RoomId) - file = string.format("./Plugins/Games/%s.dat", RoomId) - UserDat = readAll(file) - if UserDat == nil then - else - return UserDat - end - return nil -end - -function GetGuessMusicConfig(RoomId) - local file = string.format("./Plugins/Games/music_%s.dat", RoomId) - local UserDat = readAll(file) - if UserDat == nil then - else - return json.decode(UserDat) - end - return nil -end -function GenRandInt(x, y) - --math.randomseed(os.time()) - math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 6))) - num = math.random(x, y) - return num -end -function GenMusic() - local num = GenRandInt(15, 7058) - local url = string.format("http://192.168.199.63:8097/guess/%d.json", num) - local response, error_message = http.request("GET", url) - local music = response.body - if string.find(music, "404 page not found") then - return GenMusic() - end - local answer = json.decode(music) - local file = string.format("./Plugins/Games/music_%s.dat", ToUserName) - local a = { - id = answer.d.list[1].id, - answer = answer.d.list[1].answer, - num_answer = answer.d.list[1].num_answer, - artist = answer.d.list[1].artist, - words = answer.d.list[1].words, - heart_speak = answer.d.list[1].heart_speak, - tips_counts = 0, - guess_time = os.time() - } - local write_json = json.encode(a) - writeFile(file, write_json) - return num, a -end -function SubUnix(t1, t2) - local t3 = t1 - t2 - return string.format("%.2d秒", t3 % 60) -end -function readAll(filePath) - local f, err = io.open(filePath, "rb") - if err ~= nil then - return nil - end - local content = f:read("*all") - f:close() - return content -end -function writeFile(path, content) - local file = io.open(path, "wb+") - --log.error("%v", err) - if file then - if file:write(content) == nil then - return false - end - io.close(file) - return true - else - return false - end -end diff --git a/image/1.png b/image/1.png deleted file mode 100644 index 8038643..0000000 Binary files a/image/1.png and /dev/null differ diff --git a/image/10.png b/image/10.png deleted file mode 100644 index 8887c60..0000000 Binary files a/image/10.png and /dev/null differ diff --git a/image/2.png b/image/2.png deleted file mode 100644 index 2b56874..0000000 Binary files a/image/2.png and /dev/null differ diff --git a/image/4.png b/image/4.png deleted file mode 100644 index 98fc3fa..0000000 Binary files a/image/4.png and /dev/null differ diff --git a/image/5.png b/image/5.png deleted file mode 100644 index 7833018..0000000 Binary files a/image/5.png and /dev/null differ diff --git a/image/6.png b/image/6.png deleted file mode 100644 index 417e7ad..0000000 Binary files a/image/6.png and /dev/null differ diff --git a/image/7.png b/image/7.png deleted file mode 100644 index 5bdfc64..0000000 Binary files a/image/7.png and /dev/null differ diff --git a/image/8.png b/image/8.png deleted file mode 100644 index 73b3667..0000000 Binary files a/image/8.png and /dev/null differ diff --git a/image/9.png b/image/9.png deleted file mode 100644 index 238cac0..0000000 Binary files a/image/9.png and /dev/null differ