store member data received in MESSAGE_CREATE, _UPDATE

This commit is contained in:
ouwou
2021-02-26 00:58:30 -05:00
parent 2d65ed96bc
commit c69ebaf357
3 changed files with 13 additions and 4 deletions

View File

@@ -1469,6 +1469,8 @@ void DiscordClient::StoreMessageData(Message &msg) {
if (chan.has_value() && chan->GuildID.has_value())
msg.GuildID = *chan->GuildID;
m_store.BeginTransaction();
m_store.SetMessage(msg.ID, msg);
m_store.SetUser(msg.Author.ID, msg.Author);
if (msg.Reactions.has_value())
@@ -1482,6 +1484,11 @@ void DiscordClient::StoreMessageData(Message &msg) {
for (const auto &user : msg.Mentions)
m_store.SetUser(user.ID, user);
if (msg.Member.has_value())
m_store.SetGuildMember(*msg.GuildID, msg.Author.ID, *msg.Member);
m_store.EndTransaction();
if (msg.ReferencedMessage.has_value() && msg.MessageReference.has_value() && msg.MessageReference->ChannelID.has_value())
if (msg.ReferencedMessage.value() != nullptr)
StoreMessageData(**msg.ReferencedMessage);