#nullable enable using System.Threading.Tasks; using BotFramework.Attributes; using BotFramework.Enums; using Kruzya.TelegramBot.Core; using Kruzya.TelegramBot.Core.Data; using Telegram.Bot; using Telegram.Bot.Types; namespace West.TelegramBot.ChatManagement.Handler { public class Ban : CommonHandler { public Ban(CoreContext db) : base(db) {} [Command("ban", CommandParseMode.Both)] public async Task HandleBan() { if (!await CanPunish()) return; await BanMember(RepliedUser!); } [Command("unban", CommandParseMode.Both)] public async Task HandleUnban() { if (!await CanPunish()) return; await Bot.RestrictChatMemberAsync(Chat.Id, RepliedUser!.Id, new ChatPermissions { CanSendMessages = true, CanChangeInfo = true, CanInviteUsers = true, CanPinMessages = true, CanSendPolls = true, CanSendMediaMessages = true, CanSendOtherMessages = true, CanAddWebPagePreviews = true }); } } }