From d02eda147ce406dc1d223e840d48ec50894c96cb Mon Sep 17 00:00:00 2001
From: Wim <wim@42.be>
Date: Mon, 18 Jun 2018 23:38:52 +0200
Subject: Add support for MessageFormat=htmlnick (telegram). #444

---
 bridge/telegram/telegram.go | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

(limited to 'bridge')

diff --git a/bridge/telegram/telegram.go b/bridge/telegram/telegram.go
index 6b7d1a0a..805d967c 100644
--- a/bridge/telegram/telegram.go
+++ b/bridge/telegram/telegram.go
@@ -1,6 +1,7 @@
 package btelegram
 
 import (
+	"html"
 	"regexp"
 	"strconv"
 	"strings"
@@ -97,6 +98,11 @@ func (b *Btelegram) Send(msg config.Message) (string, error) {
 		if err != nil {
 			return "", err
 		}
+		if strings.ToLower(b.GetString("MessageFormat")) == "htmlnick" {
+			b.Log.Debug("Using mode HTML - nick only")
+			msg.Text = html.EscapeString(msg.Text)
+			m.ParseMode = tgbotapi.ModeHTML
+		}
 		m := tgbotapi.NewEditMessageText(chatid, msgid, msg.Username+msg.Text)
 		if b.GetString("MessageFormat") == "HTML" {
 			b.Log.Debug("Using mode HTML")
@@ -391,13 +397,17 @@ func (b *Btelegram) sendMessage(chatid int64, username, text string) (string, er
 	m.Text = username + text
 	if b.GetString("MessageFormat") == "HTML" {
 		b.Log.Debug("Using mode HTML")
-		m.Text = username + text
 		m.ParseMode = tgbotapi.ModeHTML
 	}
 	if b.GetString("MessageFormat") == "Markdown" {
 		b.Log.Debug("Using mode markdown")
 		m.ParseMode = tgbotapi.ModeMarkdown
 	}
+	if strings.ToLower(b.GetString("MessageFormat")) == "htmlnick" {
+		b.Log.Debug("Using mode HTML - nick only")
+		m.Text = username + html.EscapeString(text)
+		m.ParseMode = tgbotapi.ModeHTML
+	}
 	res, err := b.c.Send(m)
 	if err != nil {
 		return "", err
-- 
cgit v1.2.3