diff options
Diffstat (limited to 'bridge/helper/helper.go')
-rw-r--r-- | bridge/helper/helper.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/bridge/helper/helper.go b/bridge/helper/helper.go index d0c1062c..a13e02af 100644 --- a/bridge/helper/helper.go +++ b/bridge/helper/helper.go @@ -8,6 +8,7 @@ import ( "regexp" "strings" "time" + "unicode/utf8" "github.com/42wim/matterbridge/bridge/config" log "github.com/sirupsen/logrus" @@ -115,3 +116,15 @@ func RemoveEmptyNewLines(msg string) string { lines = strings.TrimRight(lines, "\n") return lines } + +func ClipMessage(text string, length int) string { + // clip too long messages + if len(text) > length { + text = text[:length-len(" *message clipped*")] + if r, size := utf8.DecodeLastRuneInString(text); r == utf8.RuneError { + text = text[:len(text)-size] + } + text += " *message clipped*" + } + return text +} |