diff options
author | George Hazan <george.hazan@gmail.com> | 2024-01-01 21:09:14 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2024-01-01 21:09:14 +0300 |
commit | 3312b19085ef68b63daed0f04aa676e5cdfa3b43 (patch) | |
tree | 9b3e86cf01bbce1d9cbc97f8c3c11976c9260318 /protocols | |
parent | 6bfb0fc3e5fcbcb36829d9283c4900427c7682c2 (diff) |
fixes #4092 (Discord: cannot autologin at startup)
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/Discord/src/gateway.cpp | 2 | ||||
-rw-r--r-- | protocols/Discord/src/proto.h | 7 | ||||
-rw-r--r-- | protocols/Discord/src/server.cpp | 8 |
3 files changed, 13 insertions, 4 deletions
diff --git a/protocols/Discord/src/gateway.cpp b/protocols/Discord/src/gateway.cpp index 0530945c3e..04958142be 100644 --- a/protocols/Discord/src/gateway.cpp +++ b/protocols/Discord/src/gateway.cpp @@ -315,7 +315,7 @@ void CDiscordProto::GatewaySendResume() bool CDiscordProto::GatewaySendStatus(int iStatus, const wchar_t *pwszStatusText)
{
if (iStatus == ID_STATUS_OFFLINE) {
- Push(new AsyncHttpRequest(this, REQUEST_POST, "/auth/logout", nullptr));
+ Push(new AsyncHttpRequest(this, REQUEST_POST, "/auth/logout", &CDiscordProto::OnReceiveLogout));
return true;
}
diff --git a/protocols/Discord/src/proto.h b/protocols/Discord/src/proto.h index d6aa55c990..3ff1f626e5 100644 --- a/protocols/Discord/src/proto.h +++ b/protocols/Discord/src/proto.h @@ -439,10 +439,11 @@ public: void OnReceiveCreateChannel(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
void OnReceiveFile(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
void OnReceiveGateway(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
- void OnReceiveMarkRead(NETLIBHTTPREQUEST *, AsyncHttpRequest *);
+ void OnReceiveLogout(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
+ void OnReceiveMarkRead(NETLIBHTTPREQUEST*, AsyncHttpRequest *);
void OnReceiveMessageAck(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
- void OnReceiveToken(NETLIBHTTPREQUEST *, AsyncHttpRequest *);
- void OnReceiveUserinfo(NETLIBHTTPREQUEST *, AsyncHttpRequest *);
+ void OnReceiveToken(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
+ void OnReceiveUserinfo(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
void RetrieveMyInfo();
void OnReceiveMyInfo(NETLIBHTTPREQUEST*, AsyncHttpRequest*);
diff --git a/protocols/Discord/src/server.cpp b/protocols/Discord/src/server.cpp index 096da0968d..fa41dde07b 100644 --- a/protocols/Discord/src/server.cpp +++ b/protocols/Discord/src/server.cpp @@ -207,6 +207,14 @@ void CDiscordProto::OnReceiveGateway(NETLIBHTTPREQUEST *pReply, AsyncHttpRequest }
/////////////////////////////////////////////////////////////////////////////////////////
+// logs a session out
+
+void CDiscordProto::OnReceiveLogout(NETLIBHTTPREQUEST *, AsyncHttpRequest *)
+{
+ delSetting("AccessToken");
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
void CDiscordProto::SetServerStatus(int iStatus)
{
|