From 19a14bb1ea7f56b05790ed1435879e45b704c9d5 Mon Sep 17 00:00:00 2001 From: Andriy <30056636+West14@users.noreply.github.com> Date: Sun, 1 Jan 2023 22:53:31 +0200 Subject: [PATCH] [code-watcher] bust code in captions --- modules/CodeWatcher/Handler.cs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/modules/CodeWatcher/Handler.cs b/modules/CodeWatcher/Handler.cs index 3abeaa8..710c448 100644 --- a/modules/CodeWatcher/Handler.cs +++ b/modules/CodeWatcher/Handler.cs @@ -23,21 +23,40 @@ public class Handler : BotEventHandler { var message = RawUpdate.Message ?? RawUpdate.EditedMessage; - if (message?.Entities == null) + if (message?.Entities == null && message?.CaptionEntities == null) { return; } + + var text = message.Caption ?? message.Text; + if (text == null) + { + return; + } + if (!await Bot.CanDeleteMessagesAsync(Chat)) { return; } - foreach (var entity in message.Entities) + var entities = new List(); + + if (message.Entities != null) + { + entities.AddRange(message.Entities); + } + + if (message.CaptionEntities != null) + { + entities.AddRange(message.CaptionEntities); + } + + foreach (var entity in entities) { if (entity.Type is MessageEntityType.Code or MessageEntityType.Pre) { - var entityLines = message.Text! + var entityLines = text! .Substring(entity.Offset, entity.Length) .SplitToLines() .ToList();