Browse Source

Initialize User.Roles sooner

tags/docs-0.9
RogueException 9 years ago
parent
commit
c0cde7ff5c
1 changed files with 8 additions and 13 deletions
  1. +8
    -13
      src/Discord.Net/Models/User.cs

+ 8
- 13
src/Discord.Net/Models/User.cs View File

@@ -132,6 +132,7 @@ namespace Discord
x.CurrentUser = null;
});
_voiceChannel = new Reference<Channel>(x => _client.Channels[x]);
_roles = new Dictionary<string, Role>();

Status = UserStatus.Offline;
_channels = new ConcurrentDictionary<string, Channel>();
@@ -234,20 +235,18 @@ namespace Discord
}
private void UpdateRoles(IEnumerable<Role> roles)
{
Dictionary<string, Role> newRoles;
if (roles != null)
newRoles = roles.ToDictionary(x => x.Id, x => x);
else
newRoles = new Dictionary<string, Role>();

if (_server.Id != null)
{
Dictionary<string, Role> newRoles;
if (roles != null)
newRoles = roles.ToDictionary(x => x.Id, x => x);
else
newRoles = new Dictionary<string, Role>();

var everyone = Server.EveryoneRole;
newRoles.Add(everyone.Id, everyone);
_roles = newRoles;
}
else
_roles = new Dictionary<string, Role>();
_roles = newRoles;
}

internal void UpdateActivity(DateTime? activity = null)
@@ -258,8 +257,6 @@ namespace Discord

internal void UpdateServerPermissions()
{
if (_roles == null) return; // We don't have all our data processed yet, this will be called again soon

var server = Server;
if (server == null) return;

@@ -288,8 +285,6 @@ namespace Discord
}
internal void UpdateChannelPermissions(Channel channel)
{
if (_roles == null) return; // We don't have all our data processed yet, this will be called again soon

var server = Server;
if (server == null) return;
if (channel.Server != server) throw new InvalidOperationException();


Loading…
Cancel
Save