[code-watcher] bust code in captions

This commit is contained in:
Andriy
2023-01-01 22:53:31 +02:00
parent 2cfcddf44d
commit 19a14bb1ea
+22 -3
View File
@@ -23,21 +23,40 @@ public class Handler : BotEventHandler
{ {
var message = RawUpdate.Message ?? RawUpdate.EditedMessage; var message = RawUpdate.Message ?? RawUpdate.EditedMessage;
if (message?.Entities == null) if (message?.Entities == null && message?.CaptionEntities == null)
{ {
return; return;
} }
var text = message.Caption ?? message.Text;
if (text == null)
{
return;
}
if (!await Bot.CanDeleteMessagesAsync(Chat)) if (!await Bot.CanDeleteMessagesAsync(Chat))
{ {
return; return;
} }
foreach (var entity in message.Entities) var entities = new List<MessageEntity>();
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) if (entity.Type is MessageEntityType.Code or MessageEntityType.Pre)
{ {
var entityLines = message.Text! var entityLines = text!
.Substring(entity.Offset, entity.Length) .Substring(entity.Offset, entity.Length)
.SplitToLines() .SplitToLines()
.ToList(); .ToList();