From caabdaa3d59f66d21a55c85324e397665bb41881 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 23 Sep 2024 19:52:03 +0300 Subject: =?UTF-8?q?fixes=20=20#4693=20(SkypeWeb:=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20-=20=D0=B2=D1=82=D0=BE=D1=80=D0=B0=D1=8F=20=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=8C=20=D0=BC=D0=B0=D1=80=D0=BB=D0=B5=D0=B7?= =?UTF-8?q?=D0=BE=D0=BD=D1=81=D0=BA=D0=BE=D0=B3=D0=BE=20=D0=B1=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D1=82=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/SkypeWeb/src/skype_chatrooms.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'protocols/SkypeWeb/src/skype_chatrooms.cpp') diff --git a/protocols/SkypeWeb/src/skype_chatrooms.cpp b/protocols/SkypeWeb/src/skype_chatrooms.cpp index de34a66fa8..e73fc74629 100644 --- a/protocols/SkypeWeb/src/skype_chatrooms.cpp +++ b/protocols/SkypeWeb/src/skype_chatrooms.cpp @@ -325,22 +325,32 @@ bool CSkypeProto::OnChatEvent(const JSONNode &node) return false; } +///////////////////////////////////////////////////////////////////////////////////////// + void CSkypeProto::SendChatMessage(SESSION_INFO *si, const wchar_t *tszMessage) { if (!IsOnline()) return; - T2Utf chat_id(si->ptszID); CMStringA szMessage(ptrA(mir_utf8encodeW(tszMessage))); szMessage.TrimRight(); - AddBbcodes(szMessage); + bool bRich = AddBbcodes(szMessage); + + CMStringA szUrl = "/users/ME/conversations/" + mir_urlEncode(T2Utf(si->ptszID)) + "/messages"; + AsyncHttpRequest *pReq = new AsyncHttpRequest(REQUEST_POST, HOST_DEFAULT, szUrl, &CSkypeProto::OnMessageSent); + JSONNode node; + node << CHAR_PARAM("clientmessageid", CMStringA(::FORMAT, "%llu000", (ULONGLONG)time(0))) + << CHAR_PARAM("messagetype", bRich ? "RichText" : "Text") << CHAR_PARAM("contenttype", "text") << CHAR_PARAM("content", szMessage); if (strncmp(szMessage, "/me ", 4) == 0) - PushRequest(new SendChatActionRequest(chat_id, time(0), szMessage)); - else - PushRequest(new SendChatMessageRequest(chat_id, time(0), szMessage)); + node << INT_PARAM("skypeemoteoffset", 4); + pReq->m_szParam = node.write().c_str(); + + PushRequest(pReq); } +///////////////////////////////////////////////////////////////////////////////////////// + void CSkypeProto::OnGetChatMembers(MHttpResponse *response, AsyncHttpRequest *pRequest) { JsonReply reply(response); -- cgit v1.2.3