* ContentWithMentionReplaced on roles and nicks (Fixes #208) * Compatibility * Like this? 🤔 * More efficient regexp * Tweaked a little * Tweaked a little more * Tweaked even more * Removed unessecary crap condition that is useless * Disallow voice channel * Moved regexp declaration
41 lines
891 B
Go
41 lines
891 B
Go
package discordgo
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestContentWithMoreMentionsReplaced(t *testing.T) {
|
|
s := &Session{StateEnabled: true, State: NewState()}
|
|
|
|
user := &User{
|
|
ID: "user",
|
|
Username: "User Name",
|
|
}
|
|
|
|
s.StateEnabled = true
|
|
s.State.GuildAdd(&Guild{ID: "guild"})
|
|
s.State.RoleAdd("guild", &Role{
|
|
ID: "role",
|
|
Name: "Role Name",
|
|
Mentionable: true,
|
|
})
|
|
s.State.MemberAdd(&Member{
|
|
User: user,
|
|
Nick: "User Nick",
|
|
GuildID: "guild",
|
|
})
|
|
s.State.ChannelAdd(&Channel{
|
|
Name: "Channel Name",
|
|
GuildID: "guild",
|
|
ID: "channel",
|
|
})
|
|
m := &Message{
|
|
Content: "<&role> <@!user> <@user> <#channel>",
|
|
ChannelID: "channel",
|
|
MentionRoles: []string{"role"},
|
|
Mentions: []*User{user},
|
|
}
|
|
if result, _ := m.ContentWithMoreMentionsReplaced(s); result != "@Role Name @User Nick @User Name #Channel Name" {
|
|
t.Error(result)
|
|
}
|
|
}
|