1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-05-03 12:39:54 +03:00

Continue adapting code to new guild data storage

This commit is contained in:
Octol1ttle 2022-12-30 18:34:48 +05:00
parent 163e3ac46b
commit fe2cfb3b3c
Signed by: Octol1ttle
GPG key ID: B77C34313AEE1FFF
10 changed files with 145 additions and 94 deletions

View file

@ -16,7 +16,7 @@ public sealed class SettingsCommand : ICommand {
if (args.Length is 0) {
var currentSettings = Boyfriend.StringBuilder.AppendLine(Messages.CurrentSettings);
foreach (var setting in GuildData.DefaultConfiguration) {
foreach (var setting in GuildData.DefaultPreferences) {
var format = "{0}";
var currentValue = config[setting.Key] is "default"
? Messages.DefaultWelcomeMessage
@ -47,7 +47,7 @@ public sealed class SettingsCommand : ICommand {
var exists = false;
// ReSharper disable once ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
// Too many allocations
foreach (var setting in GuildData.DefaultConfiguration.Keys) {
foreach (var setting in GuildData.DefaultPreferences.Keys) {
if (selectedSetting != setting.ToLower()) continue;
selectedSetting = setting;
exists = true;
@ -74,7 +74,7 @@ public sealed class SettingsCommand : ICommand {
}
} else { value = "reset"; }
if (IsBool(GuildData.DefaultConfiguration[selectedSetting]) && !IsBool(value)) {
if (IsBool(GuildData.DefaultPreferences[selectedSetting]) && !IsBool(value)) {
value = value switch {
"y" or "yes" or "д" or "да" => "true",
"n" or "no" or "н" or "нет" => "false",
@ -99,14 +99,14 @@ public sealed class SettingsCommand : ICommand {
var formattedValue = selectedSetting switch {
"WelcomeMessage" => Utils.Wrap(Messages.DefaultWelcomeMessage),
"EventStartedReceivers" => Utils.Wrap(GuildData.DefaultConfiguration[selectedSetting])!,
"EventStartedReceivers" => Utils.Wrap(GuildData.DefaultPreferences[selectedSetting])!,
_ => value is "reset" or "default" ? Messages.SettingNotDefined
: IsBool(value) ? YesOrNo(value is "true")
: string.Format(formatting, value)
};
if (value is "reset" or "default") {
config[selectedSetting] = GuildData.DefaultConfiguration[selectedSetting];
config[selectedSetting] = GuildData.DefaultPreferences[selectedSetting];
} else {
if (value == config[selectedSetting]) {
cmd.Reply(string.Format(Messages.SettingsNothingChanged, localizedSelectedSetting, formattedValue),
@ -139,7 +139,7 @@ public sealed class SettingsCommand : ICommand {
}
if (selectedSetting is "Lang") {
Utils.SetCurrentLanguage(guild.Id);
Utils.SetCurrentLanguage(guild);
localizedSelectedSetting = Utils.GetMessage($"Settings{selectedSetting}");
}