Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit 550b86e4a3b037dd555c0815ff779074857a1a97 Author: Wim <wim@42.be> Date: Wed Feb 28 23:25:00 2018 +0000 Escape html on username (telegram). Closes #378 diff --git a/bridge/telegram/telegram.go b/bridge/telegram/telegram.go index 073eda7..2306086 100644 --- a/bridge/telegram/telegram.go +++ b/bridge/telegram/telegram.go @@ -16 +17 @@  package btelegram    import ( + "html"   "regexp"   "strconv"   "strings" @@ -837 +847 @@ func (b *Btelegram) Send(msg config.Message) (string, error) {   // Upload a file if it exists   if msg.Extra != nil {   for _, rmsg := range helper.HandleExtra(&msg, b.General) { - b.sendMessage(chatid, rmsg.Username+rmsg.Text) + b.sendMessage(chatid, rmsg.Username, rmsg.Text)   }   // check if we have files to upload (from slack, telegram or mattermost)   if len(msg.Extra["file"]) > 0 { @@ -1147 +1157 @@ func (b *Btelegram) Send(msg config.Message) (string, error) {   }     // Post normal message - return b.sendMessage(chatid, msg.Username+msg.Text) + return b.sendMessage(chatid, msg.Username, msg.Text)  }    func (b *Btelegram) handleRecv(updates <-chan tgbotapi.Update) { @@ -37216 +37319 @@ func (b *Btelegram) handleUploadFile(msg *config.Message, chatid int64) (string,   b.Log.Errorf("file upload failed: %#v", err)   }   if fi.Comment != "" { - b.sendMessage(chatid, msg.Username+fi.Comment) + b.sendMessage(chatid, msg.Username, fi.Comment)   }   }   return "", nil  }   -func (b *Btelegram) sendMessage(chatid int64, text string) (string, error) { - m := tgbotapi.NewMessage(chatid, text) +func (b *Btelegram) sendMessage(chatid int64, username, text string) (string, error) { + m := tgbotapi.NewMessage(chatid, "") + m.Text = username + text   if b.Config.MessageFormat == "HTML" {   b.Log.Debug("Using mode HTML") + username = html.EscapeString(username) + m.Text = username + text   m.ParseMode = tgbotapi.ModeHTML   }   if b.Config.MessageFormat == "Markdown" {