diff options
Diffstat (limited to 'protocols/Slack/src/slack_messages.cpp')
-rw-r--r-- | protocols/Slack/src/slack_messages.cpp | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/protocols/Slack/src/slack_messages.cpp b/protocols/Slack/src/slack_messages.cpp deleted file mode 100644 index 012e9451de..0000000000 --- a/protocols/Slack/src/slack_messages.cpp +++ /dev/null @@ -1,124 +0,0 @@ -#include "stdafx.h" - -/* MESSAGE RECEIVING */ - -// incoming message flow - - -// writing message/even into db -int CSlackProto::OnReceiveMessage(MCONTACT hContact, PROTORECVEVENT *pre) -{ - //return Proto_RecvMessage(hContact, pre); - if (pre->szMessage == NULL) - return NULL; - - DBEVENTINFO dbei = {}; - dbei.szModule = GetContactProto(hContact); - dbei.timestamp = pre->timestamp; - dbei.flags = 0; - dbei.eventType = pre->lParam; - dbei.cbBlob = (DWORD)mir_strlen(pre->szMessage) + 1; - dbei.pBlob = (PBYTE)pre->szMessage; - - return (INT_PTR)db_event_add(hContact, &dbei); -} - -/* MESSAGE SENDING */ - -// outcoming message flow -void CSlackProto::OnMessageSent(JSONNode &root, void *arg) -{ - SendMessageParam *param = (SendMessageParam*)arg; - - if (!root) - { - ProtoBroadcastAck(param->hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, (HANDLE)param->hMessage, (LPARAM)Translate("Unable to send message.")); - return; - } - - bool isOk = root["ok"].as_bool(); - if (!isOk) - { - json_string error = root["error"].as_string(); - debugLogA(__FUNCTION__": %s", error); - ProtoBroadcastAck(param->hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, (HANDLE)param->hMessage, (LPARAM)error.c_str()); - return; - } - - ProtoBroadcastAck(param->hContact, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, (HANDLE)param->hMessage, 0); -} - -void CSlackProto::OnImChannelOppened(JSONNode &root, void *arg) -{ - SendMessageParam *param = (SendMessageParam*)arg; - - if (!root) - { - ProtoBroadcastAck(param->hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, (HANDLE)param->hMessage, (LPARAM)Translate("Unable to open im channel.")); - mir_free(param->message); - mir_free(param); - return; - } - - bool isOk = root["ok"].as_bool(); - if (!isOk) - { - json_string error = root["error"].as_string(); - debugLogA(__FUNCTION__": %s", error); - ProtoBroadcastAck(param->hContact, ACKTYPE_MESSAGE, ACKRESULT_FAILED, (HANDLE)param->hMessage, (LPARAM)error.c_str()); - mir_free(param->message); - mir_free(param); - return; - } - - JSONNode channel = root["channel"].as_node(); - json_string channelId = channel["id"].as_string(); - - ptrA token(getStringA("TokenSecret")); - - char *message = param->message; - HttpRequest *request; - if (mir_strncmpi(message, "/me ", 4) == 0) - { - message += 4; - request = new SendActionRequest(token, channelId.c_str(), message); - } - else - request = new SendMessageRequest(token, channelId.c_str(), message); - - SendRequest(request, &CSlackProto::OnMessageSent, param); -} - -void CSlackProto::SendMessageThread(void *arg) -{ - Thread_SetName("SLACK: SendMessageThread"); - - SendMessageParam *param = (SendMessageParam*)arg; - - ptrA token(getStringA("TokenSecret")); - ptrA user(getStringA(param->hContact, "UserId")); - SendRequest(new OpenImChannelRequest(token, user), &CSlackProto::OnImChannelOppened, param); -} - -void CSlackProto::SendMessageAckThread(void *arg) -{ - Sleep(100); - ProtoBroadcastAck((MCONTACT)arg, ACKTYPE_MESSAGE, ACKRESULT_FAILED, (HANDLE)1, (LPARAM)Translate("You cannot send when you are offline")); -} - -// message is received by the other side - -// preparing message/action to writing into db -int CSlackProto::OnPreCreateMessage(WPARAM, LPARAM lParam) -{ - MessageWindowEvent *evt = (MessageWindowEvent*)lParam; - if (mir_strcmp(GetContactProto(evt->hContact), m_szModuleName)) - return 0; -} - -/* TYPING */ - -int CSlackProto::OnUserIsTyping(MCONTACT hContact, int type) -{ - return 0; -}
\ No newline at end of file |