diff --git a/bridge/config/config.go b/bridge/config/config.go index 5da535dc06..105d568f91 100644 --- a/bridge/config/config.go +++ b/bridge/config/config.go @@ -116,6 +116,7 @@ type Protocol struct { Protocol string // all protocols QuoteDisable bool // telegram QuoteFormat string // telegram + QuoteLengthLimit int // telegram RejoinDelay int // IRC ReplaceMessages [][]string // all protocols ReplaceNicks [][]string // all protocols diff --git a/bridge/telegram/handlers.go b/bridge/telegram/handlers.go index bbe124372c..a74a3f8a29 100644 --- a/bridge/telegram/handlers.go +++ b/bridge/telegram/handlers.go @@ -357,6 +357,14 @@ func (b *Btelegram) handleQuote(message, quoteNick, quoteMessage string) string if format == "" { format = "{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})" } + quoteMessagelength := len(quoteMessage) + if b.GetInt("QuoteLengthLimit") != 0 && quoteMessagelength >= b.GetInt("QuoteLengthLimit") { + runes := []rune(quoteMessage) + quoteMessage = string(runes[0:b.GetInt("QuoteLengthLimit")]) + if quoteMessagelength > b.GetInt("QuoteLengthLimit") { + quoteMessage += "..." + } + } format = strings.Replace(format, "{MESSAGE}", message, -1) format = strings.Replace(format, "{QUOTENICK}", quoteNick, -1) format = strings.Replace(format, "{QUOTEMESSAGE}", quoteMessage, -1) diff --git a/matterbridge.toml.sample b/matterbridge.toml.sample index 61c8617640..af3c5dfb10 100644 --- a/matterbridge.toml.sample +++ b/matterbridge.toml.sample @@ -853,6 +853,10 @@ UseInsecureURL=false #OPTIONAL (default false) QuoteDisable=false +#Set the max. quoted length if 0 the whole message will be quoted +#OPTIONAL (default 0) +QuoteLengthLimit=0 + #Format quoted/reply messages #OPTIONAL (default "{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})") QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})"