diff --git a/src/Data/Options/LanguageOption.cs b/src/Data/Options/LanguageOption.cs index 464c61b..22f98df 100644 --- a/src/Data/Options/LanguageOption.cs +++ b/src/Data/Options/LanguageOption.cs @@ -11,8 +11,7 @@ public sealed class LanguageOption : Option private static readonly Dictionary CultureInfoCache = new() { { "en", new CultureInfo("en-US") }, - { "ru", new CultureInfo("ru-RU") }, - { "mctaylors-ru", new CultureInfo("tt-RU") } + { "ru", new CultureInfo("ru-RU") } }; public LanguageOption(string name, string defaultValue) : base(name, CultureInfoCache[defaultValue]) { } diff --git a/src/Services/GuildDataService.cs b/src/Services/GuildDataService.cs index 4647b11..e503d22 100644 --- a/src/Services/GuildDataService.cs +++ b/src/Services/GuildDataService.cs @@ -78,7 +78,7 @@ public sealed class GuildDataService : BackgroundService var settingsPath = $"{path}/Settings.json"; var scheduledEventsPath = $"{path}/ScheduledEvents.json"; - await MigrateGuildData(guildId, path, ct); + MigrateDataDirectory(guildId, path); Directory.CreateDirectory(path); @@ -106,6 +106,11 @@ public sealed class GuildDataService : BackgroundService dataLoadFailed = true; } + if (jsonSettings is not null) + { + FixJsonSettings(jsonSettings); + } + await using var eventsStream = File.OpenRead(scheduledEventsPath); Dictionary? events = null; try @@ -155,7 +160,7 @@ public sealed class GuildDataService : BackgroundService return finalData; } - private async Task MigrateGuildData(Snowflake guildId, string newPath, CancellationToken ct) + private void MigrateDataDirectory(Snowflake guildId, string newPath) { var oldPath = $"{guildId}"; @@ -167,13 +172,14 @@ public sealed class GuildDataService : BackgroundService _logger.LogInformation("Moved guild data to separate folder: \"{OldPath}\" -> \"{NewPath}\"", oldPath, newPath); } + } - var settings = (await GetData(guildId, ct)).Settings; - - if (GuildSettings.Language.Get(settings).Name is "tt-RU") + private static void FixJsonSettings(JsonNode settings) + { + var language = settings[GuildSettings.Language.Name]?.GetValue(); + if (language is "mctaylors-ru") { - GuildSettings.Language.Set(settings, "ru"); - _logger.LogInformation("Switched from unsupported language in \"{GuildID}\": mctaylors-ru -> ru", guildId.Value); + settings[GuildSettings.Language.Name] = "ru"; } }