Add some delay for LoggedInElsewhere

This commit is contained in:
JustArchi
2015-12-09 20:55:43 +01:00
parent 6c903b2433
commit a90b3afcdd
2 changed files with 22 additions and 4 deletions

View File

@@ -41,6 +41,7 @@ namespace ArchiSteamFarm {
internal readonly string BotName;
private bool LoggedInElsewhere = false;
private bool IsRunning = false;
private string AuthCode, TwoFactorAuth;
@@ -402,6 +403,8 @@ namespace ArchiSteamFarm {
return;
}
await CardsFarmer.StopFarming().ConfigureAwait(false);
Logging.LogGenericWarning(BotName, "Disconnected from Steam, reconnecting...");
// 2FA tokens are expiring soon, use limiter only when we don't have any pending
@@ -409,6 +412,12 @@ namespace ArchiSteamFarm {
await Program.LimitSteamRequestsAsync().ConfigureAwait(false);
}
if (LoggedInElsewhere) {
LoggedInElsewhere = false;
Logging.LogGenericWarning(BotName, "Account is being used elsewhere, will try reconnecting in 15 minutes...");
await Utilities.SleepAsync(15 * 60 * 1000).ConfigureAwait(false);
}
SteamClient.Connect();
}
@@ -519,6 +528,14 @@ namespace ArchiSteamFarm {
}
Logging.LogGenericInfo(BotName, "Logged off of Steam: " + callback.Result);
switch (callback.Result) {
case EResult.AlreadyLoggedInElsewhere:
case EResult.LoggedInElsewhere:
case EResult.LogonSessionReplaced:
LoggedInElsewhere = true;
break;
}
}
private async void OnLoggedOn(SteamUser.LoggedOnCallback callback) {

View File

@@ -74,14 +74,15 @@ namespace ArchiSteamFarm {
return;
}
ulong otherSteamID = tradeOffer.OtherSteamID64;
bool success = false;
bool tradeAccepted = false;
bool success, tradeAccepted;
if (tradeOffer.items_to_give.Count == 0 || otherSteamID == Bot.SteamMasterID) {
if (tradeOffer.items_to_give.Count == 0 || tradeOffer.OtherSteamID64 == Bot.SteamMasterID) {
tradeAccepted = true;
Logging.LogGenericInfo(Bot.BotName, "Accepting trade: " + tradeID);
success = await Bot.ArchiWebHandler.AcceptTradeOffer(tradeID).ConfigureAwait(false);
} else {
tradeAccepted = false;
Logging.LogGenericInfo(Bot.BotName, "Rejecting trade: " + tradeID);
success = Bot.ArchiWebHandler.DeclineTradeOffer(tradeID);
}