summaryrefslogtreecommitdiff
path: root/protocols/Telegram/src/proto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Telegram/src/proto.cpp')
-rw-r--r--protocols/Telegram/src/proto.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/protocols/Telegram/src/proto.cpp b/protocols/Telegram/src/proto.cpp
index fff388caa5..cc386b8a11 100644
--- a/protocols/Telegram/src/proto.cpp
+++ b/protocols/Telegram/src/proto.cpp
@@ -68,6 +68,7 @@ CTelegramProto::CTelegramProto(const char* protoName, const wchar_t* userName) :
HookProtoEvent(ME_HISTORY_EMPTY, &CTelegramProto::OnEmptyHistory);
HookProtoEvent(ME_OPT_INITIALISE, &CTelegramProto::OnOptionsInit);
+ HookProtoEvent(ME_MSG_WINDOWEVENT, &CTelegramProto::OnWindowEvent);
// avatar
CreateDirectoryTreeW(GetAvatarPath());
@@ -160,6 +161,17 @@ void CTelegramProto::OnShutdown()
m_bTerminated = true;
}
+int CTelegramProto::OnWindowEvent(WPARAM wParam, LPARAM lParam)
+{
+ if (wParam == MSG_WINDOW_EVT_OPENING) {
+ auto *pDlg = (CMsgDialog *)lParam;
+ auto *pUser = FindUser(GetId(pDlg->m_hContact));
+ if (pUser->chatId == -1 && !pDlg->isChat())
+ SendQuery(new TD::createPrivateChat(pUser->id, true));
+ }
+ return 0;
+}
+
/////////////////////////////////////////////////////////////////////////////////////////
void CTelegramProto::OnBuildProtoMenu()