mirror of
				https://gitlab.com/Kwoth/nadekobot.git
				synced 2025-11-04 00:34:26 -05:00 
			
		
		
		
	Removed credentials.json -> creds.yml migration
This commit is contained in:
		@@ -181,48 +181,4 @@ This should be equivalent to the DiscordsKey in your NadekoBot.Votes api appsett
 | 
			
		||||
            DiscordsKey = discordsKey;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class Old
 | 
			
		||||
    {
 | 
			
		||||
        public string Token { get; set; } = string.Empty;
 | 
			
		||||
        public ulong[] OwnerIds { get; set; } = new ulong[1];
 | 
			
		||||
        public string LoLApiKey { get; set; } = string.Empty;
 | 
			
		||||
        public string GoogleApiKey { get; set; } = string.Empty;
 | 
			
		||||
        public string MashapeKey { get; set; } = string.Empty;
 | 
			
		||||
        public string OsuApiKey { get; set; } = string.Empty;
 | 
			
		||||
        public string SoundCloudClientId { get; set; } = string.Empty;
 | 
			
		||||
        public string CleverbotApiKey { get; set; } = string.Empty;
 | 
			
		||||
        public string CarbonKey { get; set; } = string.Empty;
 | 
			
		||||
        public int TotalShards { get; set; } = 1;
 | 
			
		||||
        public string PatreonAccessToken { get; set; } = string.Empty;
 | 
			
		||||
        public string PatreonCampaignId { get; set; } = "334038";
 | 
			
		||||
        public RestartConfig RestartCommand { get; set; }
 | 
			
		||||
 | 
			
		||||
        public string ShardRunCommand { get; set; } = string.Empty;
 | 
			
		||||
        public string ShardRunArguments { get; set; } = string.Empty;
 | 
			
		||||
        public int? ShardRunPort { get; set; }
 | 
			
		||||
        public string MiningProxyUrl { get; set; } = string.Empty;
 | 
			
		||||
        public string MiningProxyCreds { get; set; } = string.Empty;
 | 
			
		||||
 | 
			
		||||
        public string BotListToken { get; set; } = string.Empty;
 | 
			
		||||
        public string TwitchClientId { get; set; } = string.Empty;
 | 
			
		||||
        public string VotesToken { get; set; } = string.Empty;
 | 
			
		||||
        public string VotesUrl { get; set; } = string.Empty;
 | 
			
		||||
        public string RedisOptions { get; set; } = string.Empty;
 | 
			
		||||
        public string LocationIqApiKey { get; set; } = string.Empty;
 | 
			
		||||
        public string TimezoneDbApiKey { get; set; } = string.Empty;
 | 
			
		||||
        public string CoinmarketcapApiKey { get; set; } = string.Empty;
 | 
			
		||||
 | 
			
		||||
        public class RestartConfig
 | 
			
		||||
        {
 | 
			
		||||
            public string Cmd { get; set; }
 | 
			
		||||
            public string Args { get; set; }
 | 
			
		||||
 | 
			
		||||
            public RestartConfig(string cmd, string args)
 | 
			
		||||
            {
 | 
			
		||||
                Cmd = cmd;
 | 
			
		||||
                Args = args;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -24,12 +24,6 @@ public sealed class BotCredsProvider : IBotCredsProvider
 | 
			
		||||
    private string CredsExamplePath
 | 
			
		||||
        => Path.Combine(Directory.GetCurrentDirectory(), CREDS_EXAMPLE_FILE_NAME);
 | 
			
		||||
 | 
			
		||||
    private string OldCredsJsonPath
 | 
			
		||||
        => Path.Combine(Directory.GetCurrentDirectory(), "credentials.json");
 | 
			
		||||
 | 
			
		||||
    private string OldCredsJsonBackupPath
 | 
			
		||||
        => Path.Combine(Directory.GetCurrentDirectory(), "credentials.json.bak");
 | 
			
		||||
 | 
			
		||||
    private readonly int? _totalShards;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -121,51 +115,9 @@ public sealed class BotCredsProvider : IBotCredsProvider
 | 
			
		||||
 | 
			
		||||
        Reload();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///     Checks if there's a V2 credentials file present, loads it if it exists,
 | 
			
		||||
    ///     converts it to new model, and saves it to YAML. Also backs up old credentials to credentials.json.bak
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    
 | 
			
		||||
    private void MigrateCredentials()
 | 
			
		||||
    {
 | 
			
		||||
        if (File.Exists(OldCredsJsonPath))
 | 
			
		||||
        {
 | 
			
		||||
            Log.Information("Migrating old creds...");
 | 
			
		||||
            var jsonCredentialsFileText = File.ReadAllText(OldCredsJsonPath);
 | 
			
		||||
            var oldCreds = JsonConvert.DeserializeObject<Creds.Old>(jsonCredentialsFileText);
 | 
			
		||||
 | 
			
		||||
            if (oldCreds is null)
 | 
			
		||||
            {
 | 
			
		||||
                Log.Error("Error while reading old credentials file. Make sure that the file is formatted correctly");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var creds = new Creds
 | 
			
		||||
            {
 | 
			
		||||
                Version = 1,
 | 
			
		||||
                Token = oldCreds.Token,
 | 
			
		||||
                OwnerIds = oldCreds.OwnerIds.Distinct().ToHashSet(),
 | 
			
		||||
                GoogleApiKey = oldCreds.GoogleApiKey,
 | 
			
		||||
                RapidApiKey = oldCreds.MashapeKey,
 | 
			
		||||
                OsuApiKey = oldCreds.OsuApiKey,
 | 
			
		||||
                CleverbotApiKey = oldCreds.CleverbotApiKey,
 | 
			
		||||
                TotalShards = oldCreds.TotalShards <= 1 ? 1 : oldCreds.TotalShards,
 | 
			
		||||
                Patreon = new(oldCreds.PatreonAccessToken, null, null, oldCreds.PatreonCampaignId),
 | 
			
		||||
                Votes = new(oldCreds.VotesUrl, oldCreds.VotesToken, string.Empty, string.Empty),
 | 
			
		||||
                BotListToken = oldCreds.BotListToken,
 | 
			
		||||
                RedisOptions = oldCreds.RedisOptions,
 | 
			
		||||
                LocationIqApiKey = oldCreds.LocationIqApiKey,
 | 
			
		||||
                TimezoneDbApiKey = oldCreds.TimezoneDbApiKey,
 | 
			
		||||
                CoinmarketcapApiKey = oldCreds.CoinmarketcapApiKey
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            File.Move(OldCredsJsonPath, OldCredsJsonBackupPath, true);
 | 
			
		||||
            File.WriteAllText(CredsPath, Yaml.Serializer.Serialize(creds));
 | 
			
		||||
 | 
			
		||||
            Log.Warning(
 | 
			
		||||
                "Data from credentials.json has been moved to creds.yml\nPlease inspect your creds.yml for correctness");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (File.Exists(CREDS_FILE_NAME))
 | 
			
		||||
        {
 | 
			
		||||
            var creds = Yaml.Deserializer.Deserialize<Creds>(File.ReadAllText(CREDS_FILE_NAME));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user