public static string HandleTokenDecrypt() { if (BotToken.UsingPassword()) { bool retry = true; while (retry) { Console.Write("Enter your password: "******"Checksum mismatch. (New bot version or corrupted file)"); return(PromptAndStoreToken()); } else if (!verified) { Console.Write("Could not decrypt token with that password. Try again? (y/n) "); string yesno = Console.ReadLine(); retry = (yesno.Length > 0 && yesno.Substring(0, 1).ToLower() == "y"); } else { Console.WriteLine("Token decrypted."); return(BotToken.GetTokenString()); } } // User decided to stop retrying string pathToTokenFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "token").ToString(); Console.WriteLine($"Store a new token by deleting the token file at {pathToTokenFile}"); } else { bool verified = BotToken.DecryptAndVerify(); if (!verified) { Console.WriteLine("Checksum mismatch. (New bot version or corrupted file)"); return(PromptAndStoreToken()); } else { Console.WriteLine("Token decrypted."); return(BotToken.GetTokenString()); } } // Couldn't get a token return(""); }