Browse Source

Fixed null DataStore during GroupChannel update

pull/125/head
RogueException 9 years ago
parent
commit
506c857963
2 changed files with 6 additions and 3 deletions
  1. +1
    -1
      src/Discord.Net/DiscordSocketClient.cs
  2. +5
    -2
      src/Discord.Net/Entities/WebSocket/CachedGroupChannel.cs

+ 1
- 1
src/Discord.Net/DiscordSocketClient.cs 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;
} }


+ 5
- 2
src/Discord.Net/Entities/WebSocket/CachedGroupChannel.cs 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)
{ {


Loading…
Cancel
Save