summaryrefslogtreecommitdiffstats
path: root/bridge/helper
diff options
context:
space:
mode:
authorWim <wim@42.be>2018-07-22 00:27:49 +0200
committerWim <wim@42.be>2018-07-22 00:28:17 +0200
commit2597c9bfacfbc04d1d77162465039eb9b45d0e4d (patch)
treee3a802f1e2cf35f7cd7f3a7aa1c570910a9fdc5d /bridge/helper
parent93307b57aa830b0bfbf052264243f9e047b77089 (diff)
downloadmatterbridge-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.go13
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
+}