[cm] fix warn overflow, return ban msg when warn limit is reached

This commit is contained in:
West14
2022-04-24 22:38:09 +03:00
parent 57a11c44a8
commit 1860995db5
+19 -6
View File
@@ -23,21 +23,34 @@ public class Warn : CommonHandler
var warnUser = RepliedUser!; var warnUser = RepliedUser!;
var warnOption = await GetWarnOption(warnUser); var warnOption = await GetWarnOption(warnUser);
var warnCount = warnOption!.GetValue<int>() + 1; var warnCount = warnOption.GetValue<int>() + 1;
warnOption.SetValue(warnCount);
Db.AddOrUpdate(warnOption);
await Bot.SendTextMessageAsync(Chat.Id, $"{warnUser.ToHtml()}<code>, Вам выдано предупреждение! " + await Bot.SendTextMessageAsync(Chat.Id, $"{warnUser.ToHtml()}<code>, Вам выдано предупреждение! " +
$"Текущее кол-во: {warnCount}/3</code>", $"Текущее кол-во: {warnCount}/3</code>",
disableNotification: true, disableNotification: true,
parseMode: ParseMode.Html); parseMode: ParseMode.Html);
if (warnCount == 3) if (warnCount >= 3)
{
try
{ {
await BanMember(warnUser.Id, DateTime.Now.AddDays(7)); await BanMember(warnUser.Id, DateTime.Now.AddDays(7));
warnOption.SetValue(0); warnCount = 0;
Db.AddOrUpdate(warnOption);
} }
catch
{
await Bot.SendTextMessageAsync(Chat.Id, "Нет прав на блокировку пользователя.");
return;
}
await Bot.SendTextMessageAsync(
Chat.Id,
$"{From.ToHtml()} <code>заблокировал</code> {RepliedUser!.ToHtml()} <code>на 7 дней</code>",
disableNotification: true, parseMode: ParseMode.Html);
}
warnOption.SetValue(warnCount);
Db.AddOrUpdate(warnOption);
} }
[Command("unwarn", CommandParseMode.Both)] [Command("unwarn", CommandParseMode.Both)]