summaryrefslogtreecommitdiff
path: root/protocols/VKontakte
diff options
context:
space:
mode:
authorElzorFox <elzorfox@ya.ru>2022-12-16 15:26:10 +0500
committerElzorFox <elzorfox@ya.ru>2022-12-16 15:26:10 +0500
commit483fcc6dd94ab81278143a07b19be585a161aa4c (patch)
treeb5e6b88b0d628ba58e357776488349c13d6b936a /protocols/VKontakte
parentac2cfbd42fe8ee343c40aef7c4198e257df1ec98 (diff)
VKontakte:
fix load history for groupchats on startup protocol - fix server store procedure (RetrieveChatInfo v3) fix groupchat message processing on empty history version bump
Diffstat (limited to 'protocols/VKontakte')
-rw-r--r--protocols/VKontakte/src/version.h2
-rw-r--r--protocols/VKontakte/src/vk_chats.cpp7
-rw-r--r--protocols/VKontakte/src/vkjs.js14
3 files changed, 15 insertions, 8 deletions
diff --git a/protocols/VKontakte/src/version.h b/protocols/VKontakte/src/version.h
index b399bebac4..0c2eac2d1f 100644
--- a/protocols/VKontakte/src/version.h
+++ b/protocols/VKontakte/src/version.h
@@ -1,7 +1,7 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 1
#define __RELEASE_NUM 14
-#define __BUILD_NUM 0
+#define __BUILD_NUM 1
#include <stdver.h>
diff --git a/protocols/VKontakte/src/vk_chats.cpp b/protocols/VKontakte/src/vk_chats.cpp
index 7811a75114..6b05135d02 100644
--- a/protocols/VKontakte/src/vk_chats.cpp
+++ b/protocols/VKontakte/src/vk_chats.cpp
@@ -245,11 +245,12 @@ void CVkProto::OnReceiveChatInfo(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pRe
break;
AppendChatConversationMessage(cc->m_iChatId, jnMsg, jnFUsers, true);
- }
- cc->m_bHistoryRead = true;
+ }
}
}
+ cc->m_bHistoryRead = true;
+
for (auto &p : cc->m_msgs)
AppendChatMessage(cc, p->m_uid, p->m_date, p->m_wszBody, p->m_bHistory, p->m_bIsAction);
@@ -275,7 +276,7 @@ void CVkProto::SetChatTitle(CVkChatInfo *cc, LPCWSTR wszTopic)
void CVkProto::AppendChatConversationMessage(int id, const JSONNode& jnMsg, const JSONNode& jnFUsers, bool bIsHistory)
{
- debugLogA("CVkProto::AppendChatMessage");
+ debugLogA("CVkProto::AppendChatConversationMessage");
CVkChatInfo* cc = AppendConversationChat(id, nullNode);
if (cc == nullptr)
return;
diff --git a/protocols/VKontakte/src/vkjs.js b/protocols/VKontakte/src/vkjs.js
index 946109c4ae..2392c2eeb9 100644
--- a/protocols/VKontakte/src/vkjs.js
+++ b/protocols/VKontakte/src/vkjs.js
@@ -337,13 +337,14 @@ return { "info": Info, "users": ChatUsers, "msgs": ChatMsg, "fwd_users": FUsers,
// ver 3
var Info = API.messages.getChat({ "chat_id": Args.chatid });
-var ChatUsers = API.messages.getConversationMembers({ "peer_id": 2000000000 + parseInt(Args.chatid), "fields": "id,first_name,last_name" });
-var ChatMsg = API.messages.getHistory({ "chat_id": Args.chatid, "count": 20, "rev": 0 });
+var PeerId = 2000000000 + parseInt(Args.chatid);
+var ChatUsers = API.messages.getConversationMembers({ "peer_id": PeerId, "fields": "id,first_name,last_name" });
+var ChatMsg = API.messages.getHistory({ "peer_id": PeerId, "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 });
+ ChatMsg = API.messages.getHistory({ "peer_id": PeerId, "count": UR, "rev": 0 });
};
var FMsgs = ChatMsg.items@.fwd_messages;
var Idx = 0;
@@ -365,11 +366,16 @@ while (Idx < FMsgs.length) {
var FUsers = API.users.get({ "user_ids": Uids, "name_case": "gen" });
var GUsers = [];
if(GUids.length>0){
- GUsers = API.groups.getById({ "group_ids": GUids });
+ GUsers = API.groups.getById({ "group_ids": GUids });
};
var MsgUsers = API.users.get({ "user_ids": ChatMsg.items@.from_id, "fields":"id,first_name,last_name"});
return { "info": Info, "users": ChatUsers, "msgs": ChatMsg, "fwd_users": FUsers + GUsers, "msgs_users": MsgUsers};
+
+
+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};
// Stored procedure name: RetrieveChatInfo = End
// Stored procedure name: DestroyKickChat = Begin