diff options
Diffstat (limited to 'protocols/Telegram/src/proto.cpp')
-rw-r--r-- | protocols/Telegram/src/proto.cpp | 12 |
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() |