From 4f05a09846a3250289687f674ca34440476bcb97 Mon Sep 17 00:00:00 2001 From: West14 <30056636+West14@users.noreply.github.com> Date: Wed, 20 Apr 2022 13:14:01 +0300 Subject: [PATCH] [code-watcher] Cleanup. Remove notification in 1 minute after sending. --- modules/CodeWatcher/Handler.cs | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/modules/CodeWatcher/Handler.cs b/modules/CodeWatcher/Handler.cs index e213e01..f2d0067 100644 --- a/modules/CodeWatcher/Handler.cs +++ b/modules/CodeWatcher/Handler.cs @@ -1,7 +1,6 @@ using BotFramework; using BotFramework.Attributes; using BotFramework.Enums; -using BotFramework.Utils; using Kruzya.TelegramBot.Core.Extensions; using Telegram.Bot; using Telegram.Bot.Types; @@ -11,13 +10,6 @@ namespace West.TelegramBot.CodeWatcher; public class Handler : BotEventHandler { - private static readonly string ResponseMessage = new HtmlString() - .Text(", не стоит публиковать столь большой код прямо в чат. Вместо этого загрузите его на ") - .Url("https://pastebin.com", "https://pastebin.com") - .Text(" и отправьте в виде ссылки.") - .ToString(); - - [Message(InChat.Public, MessageFlag.HasText)] public async Task HandleMessage() { @@ -42,13 +34,7 @@ public class Handler : BotEventHandler .SplitToLines() .ToList(); - if (entityLines.Count >= 10) - { - await DeleteAndNotifyAsync(message); - return; - } - - if (entityLines.Any(line => line.Length > 80)) + if (entityLines.Count >= 10 || entityLines.Any(line => line.Length > 80)) { await DeleteAndNotifyAsync(message); return; @@ -60,8 +46,12 @@ public class Handler : BotEventHandler public async Task DeleteAndNotifyAsync(Message message) { await Bot.DeleteMessageAsync(Chat.Id, message.MessageId); - await Bot.SendTextMessageAsync(Chat.Id, - (message.From?.ToHtml() ?? "") + ResponseMessage, + var notifyMsg = await Bot.SendTextMessageAsync(Chat.Id, + (message.From?.ToHtml() ?? "") + ", не стоит публиковать столь большой код прямо в чат. " + + "Вместо этого загрузите его на https://pastebin.com и отправьте в виде ссылки.", ParseMode.Html); + + await Task.Delay(TimeSpan.FromMinutes(1)); + await Bot.DeleteMessageAsync(Chat.Id, notifyMsg.MessageId); } } \ No newline at end of file