コード例 #1
0
        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("");
        }