From 6d4be250375ea353de65fd6b323c2c1d748f1733 Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Sun, 14 Oct 2018 17:00:58 +0800 Subject: [PATCH] Simplified emoji replacement in Google Translate. --- gateway/gateway.go | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) 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",