Browse Source

Fixed handling of invalid roles

tags/1.0-rc
RogueException 9 years ago
parent
commit
f3f4ba7d66
2 changed files with 10 additions and 1 deletions
  1. +5
    -0
      src/Discord.Net/DiscordSocketClient.cs
  2. +5
    -1
      src/Discord.Net/Entities/Users/GuildUser.cs

+ 5
- 0
src/Discord.Net/DiscordSocketClient.cs View File

@@ -114,6 +114,11 @@ namespace Discord
#endif

_serializer = new JsonSerializer { ContractResolver = new DiscordContractResolver() };
_serializer.Error += (s, e) =>
{
_gatewayLogger.WarningAsync(e.ErrorContext.Error).GetAwaiter().GetResult();
e.ErrorContext.Handled = true;
};
ApiClient.SentGatewayMessage += async opCode => await _gatewayLogger.DebugAsync($"Sent {(GatewayOpCode)opCode}").ConfigureAwait(false);
ApiClient.ReceivedGatewayEvent += ProcessMessageAsync;


+ 5
- 1
src/Discord.Net/Entities/Users/GuildUser.cs View File

@@ -62,7 +62,11 @@ namespace Discord
var roles = ImmutableArray.CreateBuilder<Role>(value.Length + 1);
roles.Add(Guild.EveryoneRole);
for (int i = 0; i < value.Length; i++)
roles.Add(Guild.GetRole(value[i]));
{
var role = Guild.GetRole(value[i]);
if (role != null)
roles.Add(role);
}
Roles = roles.ToImmutable();
GuildPermissions = new GuildPermissions(Permissions.ResolveGuild(this));
}


Loading…
Cancel
Save