diff --git a/bridge/telegram/handlers.go b/bridge/telegram/handlers.go index 84881f7f..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" { @@ -451,5 +454,17 @@ func (b *Btelegram) handleEntities(rmsg *config.Message, message *tgbotapi.Messa link := utf16.Decode(utfEncodedString[e.Offset : e.Offset+e.Length]) rmsg.Text = strings.Replace(rmsg.Text, string(link), url.String(), 1) } + + if e.Type == "code" { + 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" { + 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 + } } }