Merge message contents in state. Fixes #192

This commit is contained in:
Chris Rhodes 2016-05-03 20:51:04 -07:00
parent aede29500f
commit 0c7562440e

View file

@ -413,10 +413,25 @@ func (s *State) MessageAdd(message *Message) error {
s.Lock()
defer s.Unlock()
// If the message exists, replace it.
for i, m := range c.Messages {
// If the message exists, merge in the new message contents.
for _, m := range c.Messages {
if m.ID == message.ID {
c.Messages[i] = message
if message.Content != "" {
m.Content = message.Content
}
if message.EditedTimestamp != "" {
m.EditedTimestamp = message.EditedTimestamp
}
if message.Mentions != nil {
m.Mentions = message.Mentions
}
if message.Embeds != nil {
m.Embeds = message.Embeds
}
if message.Attachments != nil {
m.Attachments = message.Attachments
}
return nil
}
}