mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-04-20 00:43:36 +03:00
Fixed the Unban function
This commit is contained in:
parent
2262a10849
commit
6fa189fba9
5 changed files with 31 additions and 9 deletions
|
@ -132,7 +132,7 @@ public class BanCommand : CommandGroup {
|
||||||
[RequireDiscordPermission(DiscordPermission.BanMembers)]
|
[RequireDiscordPermission(DiscordPermission.BanMembers)]
|
||||||
[RequireBotDiscordPermissions(DiscordPermission.BanMembers)]
|
[RequireBotDiscordPermissions(DiscordPermission.BanMembers)]
|
||||||
[Description("разбанит пидора")]
|
[Description("разбанит пидора")]
|
||||||
public async Task<Result> UnBanUserAsync([Description("Юзер, кого банить")] IUser target, string reason) {
|
public async Task<Result> UnBanUserAsync([Description("Юзер, кого разбанить")] IUser target, string reason) {
|
||||||
if (!_context.TryGetGuildID(out var guildId))
|
if (!_context.TryGetGuildID(out var guildId))
|
||||||
return Result.FromError(new ArgumentNullError(nameof(guildId)));
|
return Result.FromError(new ArgumentNullError(nameof(guildId)));
|
||||||
if (!_context.TryGetUserID(out var userId))
|
if (!_context.TryGetUserID(out var userId))
|
||||||
|
@ -147,7 +147,15 @@ public class BanCommand : CommandGroup {
|
||||||
var cfg = await _dataService.GetConfiguration(guildId.Value, CancellationToken);
|
var cfg = await _dataService.GetConfiguration(guildId.Value, CancellationToken);
|
||||||
Messages.Culture = cfg.Culture;
|
Messages.Culture = cfg.Culture;
|
||||||
|
|
||||||
//TODO: Проверка на существующий бан.
|
var existingBanResult = await _guildApi.GetGuildBanAsync(guildId.Value, target.ID, CancellationToken);
|
||||||
|
if (!existingBanResult.IsDefined()) {
|
||||||
|
return (Result)await _feedbackService.SendContextualEmbedAsync(
|
||||||
|
new Embed(
|
||||||
|
Title: Messages.UserNotBanned,
|
||||||
|
Colour: ColorsList.Red
|
||||||
|
),
|
||||||
|
ct: CancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Result<Embed> responseEmbed;
|
Result<Embed> responseEmbed;
|
||||||
|
@ -156,24 +164,23 @@ public class BanCommand : CommandGroup {
|
||||||
if (!userResult.IsDefined(out var user))
|
if (!userResult.IsDefined(out var user))
|
||||||
return Result.FromError(userResult);
|
return Result.FromError(userResult);
|
||||||
|
|
||||||
var banResult = await _guildApi.CreateGuildBanAsync(
|
var unbanResult = await _guildApi.RemoveGuildBanAsync(
|
||||||
guildId.Value, target.ID, reason: $"({user.GetTag()}) {WebUtility.UrlEncode(reason)}",
|
guildId.Value, target.ID, reason: $"({user.GetTag()}) {WebUtility.UrlEncode(reason)}",
|
||||||
ct: CancellationToken);
|
ct: CancellationToken);
|
||||||
if (!banResult.IsSuccess)
|
if (!unbanResult.IsSuccess)
|
||||||
return Result.FromError(banResult.Error);
|
return Result.FromError(unbanResult.Error);
|
||||||
|
|
||||||
responseEmbed = new EmbedBuilder().WithSmallTitle(
|
responseEmbed = new EmbedBuilder().WithSmallTitle(
|
||||||
string.Format(Messages.UserBanned, target.GetTag()), target)
|
string.Format(Messages.UserUnbanned, target.GetTag()), target)
|
||||||
.WithColour(ColorsList.Green).Build();
|
.WithColour(ColorsList.Green).Build();
|
||||||
|
|
||||||
if ((cfg.PublicFeedbackChannel is not 0 && cfg.PublicFeedbackChannel != channelId.Value)
|
if ((cfg.PublicFeedbackChannel is not 0 && cfg.PublicFeedbackChannel != channelId.Value)
|
||||||
|| (cfg.PrivateFeedbackChannel is not 0 && cfg.PrivateFeedbackChannel != channelId.Value)) {
|
|| (cfg.PrivateFeedbackChannel is not 0 && cfg.PrivateFeedbackChannel != channelId.Value)) {
|
||||||
var logEmbed = new EmbedBuilder().WithSmallTitle(
|
var logEmbed = new EmbedBuilder().WithSmallTitle(
|
||||||
string.Format(Messages.UserBanned, target.GetTag()), target)
|
string.Format(Messages.UserUnbanned, target.GetTag()), target)
|
||||||
.WithDescription(string.Format(Messages.DescriptionUserBanned, reason))
|
|
||||||
.WithActionFooter(user)
|
.WithActionFooter(user)
|
||||||
.WithCurrentTimestamp()
|
.WithCurrentTimestamp()
|
||||||
.WithColour(ColorsList.Red)
|
.WithColour(ColorsList.Green)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
if (!logEmbed.IsDefined(out var logBuilt))
|
if (!logEmbed.IsDefined(out var logBuilt))
|
||||||
|
|
6
Messages.Designer.cs
generated
6
Messages.Designer.cs
generated
|
@ -818,5 +818,11 @@ namespace Boyfriend {
|
||||||
return ResourceManager.GetString("UserAlreadyBanned", resourceCulture);
|
return ResourceManager.GetString("UserAlreadyBanned", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static string UserUnbanned {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UserUnbanned", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -492,4 +492,7 @@
|
||||||
<data name="UserAlreadyBanned" xml:space="preserve">
|
<data name="UserAlreadyBanned" xml:space="preserve">
|
||||||
<value>This user is already banned!</value>
|
<value>This user is already banned!</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="UserUnbanned" xml:space="preserve">
|
||||||
|
<value>{0} was unbanned</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
|
|
@ -492,4 +492,7 @@
|
||||||
<data name="UserAlreadyBanned" xml:space="preserve">
|
<data name="UserAlreadyBanned" xml:space="preserve">
|
||||||
<value>Этот пользователь уже забанен!</value>
|
<value>Этот пользователь уже забанен!</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="UserUnbanned" xml:space="preserve">
|
||||||
|
<value>{0} был(-а) забанен(-а)</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
|
|
@ -492,4 +492,7 @@
|
||||||
<data name="UserAlreadyBanned" xml:space="preserve">
|
<data name="UserAlreadyBanned" xml:space="preserve">
|
||||||
<value>этот шизоид уже лежит в бане</value>
|
<value>этот шизоид уже лежит в бане</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="UserUnbanned" xml:space="preserve">
|
||||||
|
<value>{0} раззабанен</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
|
Loading…
Add table
Reference in a new issue