Bladeren bron

Merge pull request #39 from iopred/mentions

Add a method on Message to replace mentions with usernames.
Bruce 9 jaren geleden
bovenliggende
commit
43bf17c302
1 gewijzigde bestanden met toevoegingen van 12 en 0 verwijderingen
  1. 12 0
      structs.go

+ 12 - 0
structs.go

@@ -13,7 +13,9 @@ package discordgo
 
 import (
 	"encoding/json"
+	"fmt"
 	"net"
+	"strings"
 	"time"
 
 	"github.com/gorilla/websocket"
@@ -99,6 +101,16 @@ type Message struct {
 	ChannelID       string       `json:"channel_id"`
 }
 
+// ContentWithMentionsReplaced will replace all @<id> mentions with the
+// username of the mention.
+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)
+	}
+	return content
+}
+
 // An Attachment stores data for message attachments.
 type Attachment struct { //TODO figure this out
 }