// Copyright (c) 2013-17 Miranda NG project (http://miranda-ng.org) // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation version 2 // of the License. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . // Instruction: // 1. Go to https://vk.com/editapp?id=3917910§ion=functions // 2. Create a stored procedure with the appropriate name // 3. Copy&Paste procedure code to code field. Save it. // 4. Create additional version(s) stored procedure (if required) // Stored procedure name: RetrieveUserInfo = Begin // Arguments: // Args.userid // Args.fields var res=API.users.get({"user_ids":Args.userid,"fields":Args.fields,"name_case":"nom"}); return{"freeoffline":0,"norepeat":1,"usercount":res.length,"users":res}; // Stored procedure name: RetrieveUserInfo = End // Stored procedure name: RetrieveUsersInfo = Begin // Arguments: // Args.userids // Args.fields // Args.norepeat // Args.setonline // ver 1 if (Args.setonline == 1) API.account.setOnline(); var US=[]; var res=API.users.get({"user_ids":API.friends.getOnline(),"fields":Args.fields,"name_case":"nom"}); var t=10; while(t>0){ US=API.users.get({"user_ids":Args.userids,"fields":Args.fields,"name_case":"nom"}); var index=US.length; while(index>0){ index=index-1; if(US[index].online!=0){ res.push(US[index]); }; }; t=t-1; if(res.length>0)t=0;}; return{"freeoffline":1,"norepeat":Args.norepeat,"usercount":res.length,"users":res,"requests":API.friends.getRequests({"extended":0,"need_mutual":0,"out":0})}; // ver 2 if (Args.setonline == 1) API.account.setOnline(); var res=API.users.get({"user_ids":Args.userids,"fields":Args.fields,"name_case":"nom"}); return{"freeoffline":0,"norepeat":Args.norepeat,"usercount":res.length,"users":res,"requests":API.friends.getRequests({"extended":0,"need_mutual":0,"out":0})}; // Stored procedure name: RetrieveUsersInfo = End // Stored procedure name: GetServerHistory = Begin // Arguments: // Args.userid // Args.offset // Args.reqcount // Args.time // Args.lastmid // Args.once var Hist=API.messages.getHistory({"user_id":Args.userid,"count":Args.reqcount,"offset":Args.offset}); var ext=Hist.items.length; var index=0; while(ext!=0) { if(Hist.items[index].date > Args.time) { if(Hist.items[index].id > Args.lastmid) { index=index+1; ext=ext-1; } else ext=0; } else ext=0; }; var ret=Hist.items.slice(0,index); var FMsgs=ret@.fwd_messages; var Idx=0; var Uids=[]; while(Idx < FMsgs.length) { var Jdx=0; var CFMsgs=parseInt(FMsgs[Idx].length); while(JdxCntLmt){ Cnt=CntLmt; } if(Cnt==0) { API.audio.setBroadcast(); } else{ var i=0; var j=0; var Track=" "; while(iCntLmt){ Cnt=CntLmt; } if(Cnt==0){ Track="♫ "+Args.statusmsg; API.status.set({"text":Track}); } else { var i=0; var j=-1; while(i 0) { API.messages.delete({"message_ids":itemsMsg}); Hist=API.messages.getHistory({"chat_id":Args.chatid, "count":200}); countMsg = Hist.count; itemsMsg = Hist.items@.id; }; return 1; // Stored procedure name: DestroyChat = End // Stored procedure name: RetrieveChatInfo = Begin // Arguments: // Args.chatid // ver 1 var Info=API.messages.getChat({"chat_id": Args.chatid}); var ChatUsers=API.messages.getChatUsers({"chat_id":Args.chatid,"fields":"id,first_name,last_name"}); return {"info":Info,"users":ChatUsers;}; // ver 2 var Info=API.messages.getChat({"chat_id": Args.chatid}); var ChatUsers=API.messages.getChatUsers({"chat_id": Args.chatid, "fields": "id,first_name,last_name"}); var ChatMsg=API.messages.getHistory({"chat_id": Args.chatid,"count":20,"rev":0}); var UR = parseInt(ChatMsg.unread); if(UR>20){ if(UR>200) UR=200; ChatMsg=API.messages.getHistory({"chat_id":Args.chatid,"count":UR,"rev":0}); }; var FMsgs = ChatMsg.items@.fwd_messages; var Idx = 0; var Uids =[]; while (Idx < FMsgs.length){ var Jdx = 0; var CFMsgs = parseInt(FMsgs[Idx].length); while (Jdx < CFMsgs){ Uids.unshift(FMsgs[Idx][Jdx].user_id); Jdx = Jdx + 1; }; Idx = Idx + 1; }; var FUsers = API.users.get({"user_ids": Uids, "name_case":"gen"}); var MsgUsers=API.users.get({"user_ids":ChatMsg.items@.user_id,"fields":"id,first_name,last_name"}); return {"info":Info,"users":ChatUsers ,"msgs":ChatMsg,"fwd_users":FUsers,"msgs_users":MsgUsers}; // Stored procedure name: RetrieveChatInfo = End // Stored procedure name: DestroyKickChat = Begin // Arguments: // Args.chatid var Hist = API.messages.getHistory({"chat_id":Args.chatid, "count":200}); var countMsg = Hist.count; var itemsMsg = Hist.items@.id; while (countMsg > 0) { API.messages.delete({"message_ids":itemsMsg}); Hist=API.messages.getHistory({"chat_id":Args.chatid, "count":200}); countMsg = Hist.count; itemsMsg = Hist.items@.id; }; return 1; // Stored procedure name: DestroyKickChat = End