State: Author* methods now try and use Message.Member

This commit is contained in:
diamondburned (Forefront) 2020-02-12 20:19:24 -08:00
parent 76c7760c24
commit 0de1e579f3
2 changed files with 19 additions and 0 deletions

View File

@ -96,6 +96,10 @@ func AssertEvent(driver json.Driver,
}
func HandleEvent(g *Gateway, data []byte) error {
if len(data) == 0 {
return ErrInvalidSession
}
// Parse the raw data into an OP struct
var op *OP
if err := g.Driver.Unmarshal(data, &op); err != nil {

View File

@ -81,6 +81,13 @@ func (s *State) AuthorDisplayName(message discord.Message) string {
return message.Author.Username
}
if message.Member != nil {
if message.Member.Nick != "" {
return message.Member.Nick
}
return message.Author.Username
}
n, err := s.MemberDisplayName(message.GuildID, message.Author.ID)
if err != nil {
return message.Author.Username
@ -109,6 +116,14 @@ func (s *State) AuthorColor(message discord.Message) discord.Color {
return discord.DefaultMemberColor
}
if message.Member != nil {
guild, err := s.Guild(message.GuildID)
if err != nil {
return discord.DefaultMemberColor
}
return discord.MemberColor(*guild, *message.Member)
}
return s.MemberColor(message.GuildID, message.Author.ID)
}