From 06286bc3b942230d0439c076ca4a35e6b636af61 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Tue, 7 Dec 2021 11:20:21 +0000 Subject: [PATCH] support multiple code blocks in same message. --- bridge/telegram/handlers.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/bridge/telegram/handlers.go b/bridge/telegram/handlers.go index fee07231..7f40ddc9 100644 --- a/bridge/telegram/handlers.go +++ b/bridge/telegram/handlers.go @@ -435,6 +435,9 @@ func (b *Btelegram) handleEntities(rmsg *config.Message, message *tgbotapi.Messa if message.Entities == nil { return } + + var indexMovedBy = 0 + // for now only do URL replacements for _, e := range *message.Entities { if e.Type == "text_link" { @@ -453,11 +456,15 @@ func (b *Btelegram) handleEntities(rmsg *config.Message, message *tgbotapi.Messa } if e.Type == "code" { - rmsg.Text = rmsg.Text[0:e.Offset] + "`" + rmsg.Text[e.Offset:e.Offset + e.Length] + rmsg.Text[e.Offset + e.Length : len(rmsg.Text)] + "`" + var offset = e.Offset + indexMovedBy + rmsg.Text = rmsg.Text[:offset] + "`" + rmsg.Text[offset:offset + e.Length] + "`" + rmsg.Text[offset + e.Length :] + indexMovedBy += 2 } if e.Type == "pre" { - rmsg.Text = rmsg.Text[0:e.Offset] + "```\n" + rmsg.Text[e.Offset:e.Offset + e.Length] + rmsg.Text[e.Offset + e.Length : len(rmsg.Text)] + "\n```" + var offset = e.Offset + indexMovedBy + rmsg.Text = rmsg.Text[:offset] + "```\n" + rmsg.Text[offset:offset + e.Length] + "\n```" + rmsg.Text[offset + e.Length :] + indexMovedBy += 8 } } }