1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-04-20 00:43:36 +03:00

Resolving issues...

Signed-off-by: Macintosh II <mctaylxrs@outlook.com>
This commit is contained in:
Macintxsh 2023-09-22 19:59:23 +03:00
parent 351b76b719
commit 7e71893fe0
Signed by: mctaylors
GPG key ID: 361D326747B61E65
8 changed files with 33 additions and 22 deletions

View file

@ -594,10 +594,10 @@
<data name="NoRemindersFound" xml:space="preserve"> <data name="NoRemindersFound" xml:space="preserve">
<value>You don't have any reminders created!</value> <value>You don't have any reminders created!</value>
</data> </data>
<data name="SettingsResetOptional" xml:space="preserve"> <data name="SingleSettingReset" xml:space="preserve">
<value>{0} setting has been reset</value> <value>Setting {0} reset</value>
</data> </data>
<data name="SettingsReset" xml:space="preserve"> <data name="AllSettingsReset" xml:space="preserve">
<value>All settings have been reset</value> <value>All settings have been reset</value>
</data> </data>
</root> </root>

View file

@ -594,10 +594,10 @@
<data name="NoRemindersFound" xml:space="preserve"> <data name="NoRemindersFound" xml:space="preserve">
<value>У вас нет созданных напоминаний!</value> <value>У вас нет созданных напоминаний!</value>
</data> </data>
<data name="SettingsResetOptional" xml:space="preserve"> <data name="SingleSettingReset" xml:space="preserve">
<value>Настройка {0} сброшена</value> <value>Настройка {0} сброшена</value>
</data> </data>
<data name="SettingsReset" xml:space="preserve"> <data name="AllSettingsReset" xml:space="preserve">
<value>Все настройки были сброшены</value> <value>Все настройки были сброшены</value>
</data> </data>
</root> </root>

View file

@ -594,10 +594,10 @@
<data name="NoRemindersFound" xml:space="preserve"> <data name="NoRemindersFound" xml:space="preserve">
<value>ты еще не крафтил напоминалки</value> <value>ты еще не крафтил напоминалки</value>
</data> </data>
<data name="SettingsResetOptional" xml:space="preserve"> <data name="SingleSettingReset" xml:space="preserve">
<value>{0} откачен к заводским</value> <value>{0} откачен к заводским</value>
</data> </data>
<data name="SettingsReset" xml:space="preserve"> <data name="AllSettingsReset" xml:space="preserve">
<value>откатываемся к заводским...</value> <value>откатываемся к заводским...</value>
</data> </data>
</root> </root>

View file

@ -261,19 +261,23 @@ public class SettingsCommandGroup : CommandGroup
if (setting is not null) if (setting is not null)
{ {
return await ResetSettingAsync(cfg, currentUser, AllOptions[(int)setting], CancellationToken); return await ResetSingleSettingAsync(cfg, currentUser, AllOptions[(int)setting], CancellationToken);
} }
return await ResetAllSettingsAsync(cfg, currentUser, CancellationToken); return await ResetAllSettingsAsync(cfg, currentUser, CancellationToken);
} }
private async Task<Result> ResetSettingAsync(JsonNode cfg, IUser currentUser, private async Task<Result> ResetSingleSettingAsync(JsonNode cfg, IUser currentUser,
IOption option, CancellationToken ct = default) IOption option, CancellationToken ct = default)
{ {
option.Reset(cfg); var resetResult = option.Reset(cfg);
if (!resetResult.IsSuccess)
{
return Result.FromError(resetResult.Error);
}
var embed = new EmbedBuilder().WithSmallTitle( var embed = new EmbedBuilder().WithSmallTitle(
string.Format(Messages.SettingsResetOptional, option.Name), currentUser) string.Format(Messages.SingleSettingReset, option.Name), currentUser)
.WithColour(ColorsList.Green) .WithColour(ColorsList.Green)
.Build(); .Build();
@ -285,10 +289,14 @@ public class SettingsCommandGroup : CommandGroup
{ {
foreach (var option in AllOptions) foreach (var option in AllOptions)
{ {
option.Reset(cfg); var resetResult = option.Reset(cfg);
if (!resetResult.IsSuccess)
{
return Result.FromError(resetResult.Error);
}
} }
var embed = new EmbedBuilder().WithSmallTitle(Messages.SettingsReset, currentUser) var embed = new EmbedBuilder().WithSmallTitle(Messages.AllSettingsReset, currentUser)
.WithColour(ColorsList.Green) .WithColour(ColorsList.Green)
.Build(); .Build();

View file

@ -8,9 +8,5 @@ public interface IOption
string Name { get; } string Name { get; }
string Display(JsonNode settings); string Display(JsonNode settings);
Result Set(JsonNode settings, string from); Result Set(JsonNode settings, string from);
Result Reset(JsonNode settings);
public void Reset(JsonNode settings)
{
settings[Name] = null;
}
} }

View file

@ -48,4 +48,10 @@ public class Option<T> : IOption
var property = settings[Name]; var property = settings[Name];
return property != null ? property.GetValue<T>() : DefaultValue; return property != null ? property.GetValue<T>() : DefaultValue;
} }
public Result Reset(JsonNode settings)
{
settings[Name] = null;
return Result.FromSuccess();
}
} }

View file

@ -1002,15 +1002,15 @@ namespace Boyfriend {
} }
} }
internal static string SettingsReset { internal static string SingleSettingReset {
get { get {
return ResourceManager.GetString("SettingsReset", resourceCulture); return ResourceManager.GetString("SingleSettingReset", resourceCulture);
} }
} }
internal static string SettingsResetOptional { internal static string AllSettingsReset {
get { get {
return ResourceManager.GetString("SettingsResetOptional", resourceCulture); return ResourceManager.GetString("AllSettingsReset", resourceCulture);
} }
} }
} }

View file

@ -44,6 +44,7 @@ public sealed class GuildDataService : IHostedService
public async Task SaveAsync(CancellationToken ct) public async Task SaveAsync(CancellationToken ct)
{ {
_logger.LogInformation("Saving guild data...");
var tasks = new List<Task>(); var tasks = new List<Task>();
var datas = _datas.Values.ToArray(); var datas = _datas.Values.ToArray();
foreach (var data in datas) foreach (var data in datas)