浏览代码

Replace multiple replaces with one regex replace.

Chris Rhodes 8 年之前
父节点
当前提交
96bcdc00a5
共有 1 个文件被更改,包括 2 次插入5 次删除
  1. 2 5
      message.go

+ 2 - 5
message.go

@@ -11,7 +11,7 @@ package discordgo
 
 import (
 	"fmt"
-	"strings"
+	"regexp"
 )
 
 // A Message stores all data related to a specific Discord message.
@@ -76,10 +76,7 @@ func (m *Message) ContentWithMentionsReplaced() string {
 	}
 	content := m.Content
 	for _, user := range m.Mentions {
-		content = strings.Replace(content, fmt.Sprintf("<@%s>", user.ID),
-			fmt.Sprintf("@%s", user.Username), -1)
-		content = strings.Replace(content, fmt.Sprintf("<@!%s>", user.ID),
-			fmt.Sprintf("@%s", user.Username), -1)
+		content = regexp.MustCompile(fmt.Sprintf("<@!?(%s)>", user.ID)).ReplaceAllString(content, "@"+user.Username)
 	}
 	return content
 }