Fixed null DataStore during GroupChannel update

This commit is contained in:
RogueException
2016-07-18 13:47:44 -03:00
parent af7ee37e44
commit 506c857963
2 changed files with 6 additions and 3 deletions

View File

@@ -359,7 +359,7 @@ namespace Discord
case ChannelType.Group: case ChannelType.Group:
{ {
var channel = new CachedGroupChannel(this, model); var channel = new CachedGroupChannel(this, model);
channel.UpdateUsers(model.Recipients.Value, UpdateSource.Creation); channel.UpdateUsers(model.Recipients.Value, UpdateSource.Creation, dataStore);
dataStore.AddChannel(channel); dataStore.AddChannel(channel);
return channel; return channel;
} }

View File

@@ -8,6 +8,7 @@ using MessageModel = Discord.API.Message;
using Model = Discord.API.Channel; using Model = Discord.API.Channel;
using UserModel = Discord.API.User; using UserModel = Discord.API.User;
using VoiceStateModel = Discord.API.VoiceState; using VoiceStateModel = Discord.API.VoiceState;
using Discord.API;
namespace Discord namespace Discord
{ {
@@ -37,16 +38,18 @@ namespace Discord
base.Update(model, source); base.Update(model, source);
} }
internal override void UpdateUsers(UserModel[] models, UpdateSource source) internal void UpdateUsers(UserModel[] models, UpdateSource source, DataStore dataStore)
{ {
var users = new ConcurrentDictionary<ulong, GroupUser>(1, models.Length); var users = new ConcurrentDictionary<ulong, GroupUser>(1, models.Length);
for (int i = 0; i < models.Length; i++) for (int i = 0; i < models.Length; i++)
{ {
var globalUser = Discord.GetOrAddUser(models[i], Discord.DataStore); var globalUser = Discord.GetOrAddUser(models[i], dataStore);
users[models[i].Id] = new CachedGroupUser(this, globalUser); users[models[i].Id] = new CachedGroupUser(this, globalUser);
} }
_users = users; _users = users;
} }
internal override void UpdateUsers(UserModel[] models, UpdateSource source)
=> UpdateUsers(models, source, Discord.DataStore);
public CachedGroupUser AddUser(UserModel model, DataStore dataStore) public CachedGroupUser AddUser(UserModel model, DataStore dataStore)
{ {