diff --git a/gateway/gateway.go b/gateway/gateway.go
index e221b21e..20e2a3ac 100644
--- a/gateway/gateway.go
+++ b/gateway/gateway.go
@@ -298,9 +298,11 @@ func (gw *Gateway) handleMessage(msg config.Message, dest *bridge.Bridge) []*BrM
defer client.Close()
text := msg.Text
+ var results [][]string
+
// @usernames
- results := regexp.MustCompile(`(@[a-zA-Z0-9-]+)`).FindAllStringSubmatch(text, -1)
+ results = regexp.MustCompile(`(@[a-zA-Z0-9-]+)`).FindAllStringSubmatch(text, -1)
for _, r := range results {
text = strings.Replace(text, r[1], ""+r[1]+"", -1)
}
@@ -312,16 +314,10 @@ func (gw *Gateway) handleMessage(msg config.Message, dest *bridge.Bridge) []*BrM
}
// :emoji:
- results = regexp.MustCompile(`(:[a-z0-9-_]+?:)`).FindAllStringSubmatch(text, -1)
- for _, r := range results {
- text = strings.Replace(text, r[1], ""+r[1]+"", -1)
- }
+ text = regexp.MustCompile(`:[a-z0-9-_]+?:`).ReplaceAllString(text, "$0")
// :emoji: codepoints, ie. 💎
- results = emoji.NewEmojiParser().FindAllStringSubmatch(text, -1)
- for _, r := range results {
- text = strings.Replace(text, r[0], " "+r[0]+" ", -1)
- }
+ text = emoji.NewEmojiParser().ReplaceAllString(text, "$0")
resp, _ := client.Translate(ctx, []string{text}, lang, &translate.Options{
Format: "html",