diff options
author | Wim <wim@42.be> | 2018-07-22 00:27:49 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2018-07-22 00:28:17 +0200 |
commit | 2597c9bfacfbc04d1d77162465039eb9b45d0e4d (patch) | |
tree | e3a802f1e2cf35f7cd7f3a7aa1c570910a9fdc5d /bridge/helper | |
parent | 93307b57aa830b0bfbf052264243f9e047b77089 (diff) | |
download | matterbridge-msglm-2597c9bfacfbc04d1d77162465039eb9b45d0e4d.tar.gz matterbridge-msglm-2597c9bfacfbc04d1d77162465039eb9b45d0e4d.tar.bz2 matterbridge-msglm-2597c9bfacfbc04d1d77162465039eb9b45d0e4d.zip |
Clip too long messages sent to discord (discord). Closes #440
Diffstat (limited to 'bridge/helper')
-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 +} |