Kill old refresh token when getting Expired/Expired

This commit is contained in:
Archi
2023-10-11 19:22:40 +02:00
parent 5db85aa6f1
commit ee2de7a022

View File

@@ -2081,7 +2081,7 @@ public sealed class Bot : IAsyncDisposable, IDisposable {
case EResult.AccountLoginDeniedNeedTwoFactor:
case EResult.AccountLoginDeniedThrottle:
case EResult.DuplicateRequest: // This will happen if user reacts to popup and tries to use the code afterwards, we have the code saved in ASF, we just need to try again
case EResult.Expired: // Same as Timeout
case EResult.Expired: // Refresh token expired
case EResult.FileNotFound: // User denied approval despite telling us that he accepted it, just try again
case EResult.InvalidPassword:
case EResult.NoConnection:
@@ -2629,6 +2629,7 @@ public sealed class Bot : IAsyncDisposable, IDisposable {
// Do not attempt to reconnect, those failures are permanent
return;
case EResult.AccessDenied when !string.IsNullOrEmpty(BotDatabase.RefreshToken):
case EResult.Expired when !string.IsNullOrEmpty(BotDatabase.RefreshToken):
case EResult.InvalidPassword when !string.IsNullOrEmpty(BotDatabase.RefreshToken):
// We can retry immediately
BotDatabase.RefreshToken = null;