From d1d0b8ed16b82b5bc6d522b2b43bc65bd891f9a2 Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Fri, 9 Jun 2023 21:14:18 +0500 Subject: [PATCH] Set the language culture when using /ban and /unban Signed-off-by: Octol1ttle --- Commands/BanCommand.cs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Commands/BanCommand.cs b/Commands/BanCommand.cs index f9b0d59..6566d68 100644 --- a/Commands/BanCommand.cs +++ b/Commands/BanCommand.cs @@ -20,12 +20,12 @@ namespace Boyfriend.Commands; public class BanCommand : CommandGroup { private readonly IDiscordRestChannelAPI _channelApi; - private readonly ICommandContext _context; - private readonly GuildDataService _dataService; - private readonly FeedbackService _feedbackService; - private readonly IDiscordRestGuildAPI _guildApi; - private readonly IDiscordRestUserAPI _userApi; - private readonly UtilityService _utility; + private readonly ICommandContext _context; + private readonly GuildDataService _dataService; + private readonly FeedbackService _feedbackService; + private readonly IDiscordRestGuildAPI _guildApi; + private readonly IDiscordRestUserAPI _userApi; + private readonly UtilityService _utility; public BanCommand( ICommandContext context, IDiscordRestChannelAPI channelApi, GuildDataService dataService, @@ -57,6 +57,9 @@ public class BanCommand : CommandGroup { if (!currentUserResult.IsDefined(out var currentUser)) return Result.FromError(currentUserResult); + var cfg = await _dataService.GetConfiguration(guildId.Value, CancellationToken); + Messages.Culture = cfg.Culture; + var existingBanResult = await _guildApi.GetGuildBanAsync(guildId.Value, target.ID, CancellationToken); if (existingBanResult.IsDefined(out _)) { var embed = new EmbedBuilder().WithSmallTitle(Messages.UserAlreadyBanned, currentUser) @@ -91,7 +94,6 @@ public class BanCommand : CommandGroup { string.Format(Messages.UserBanned, target.GetTag()), target) .WithColour(ColorsList.Green).Build(); - var cfg = await _dataService.GetConfiguration(guildId.Value, CancellationToken); if ((cfg.PublicFeedbackChannel is not 0 && cfg.PublicFeedbackChannel != channelId.Value) || (cfg.PrivateFeedbackChannel is not 0 && cfg.PrivateFeedbackChannel != channelId.Value)) { var logEmbed = new EmbedBuilder().WithSmallTitle( @@ -140,6 +142,9 @@ public class BanCommand : CommandGroup { if (!currentUserResult.IsDefined(out var currentUser)) return Result.FromError(currentUserResult); + var cfg = await _dataService.GetConfiguration(guildId.Value, CancellationToken); + Messages.Culture = cfg.Culture; + //TODO: Проверка на существующий бан. @@ -158,7 +163,6 @@ public class BanCommand : CommandGroup { string.Format(Messages.UserBanned, target.GetTag()), target) .WithColour(ColorsList.Green).Build(); - var cfg = await _dataService.GetConfiguration(guildId.Value, CancellationToken); if ((cfg.PublicFeedbackChannel is not 0 && cfg.PublicFeedbackChannel != channelId.Value) || (cfg.PrivateFeedbackChannel is not 0 && cfg.PrivateFeedbackChannel != channelId.Value)) { var logEmbed = new EmbedBuilder().WithSmallTitle(