Fix ShardedClient#GetShardFor null-case (#742)

This resolves #742.

Common cases for IGuild being null on access are DMs (since they do not
belong to a guild) - this change resolves null guilds to shard zero,
where DMs are also received.
This commit is contained in:
Christopher F
2018-01-06 22:54:50 -05:00
parent 5bbd9bba82
commit d5e9d6f9c1

View File

@@ -1,4 +1,4 @@
using Discord.API; using Discord.API;
using Discord.Rest; using Discord.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@@ -133,7 +133,7 @@ namespace Discord.WebSocket
private DiscordSocketClient GetShardFor(ulong guildId) private DiscordSocketClient GetShardFor(ulong guildId)
=> GetShard(GetShardIdFor(guildId)); => GetShard(GetShardIdFor(guildId));
public DiscordSocketClient GetShardFor(IGuild guild) public DiscordSocketClient GetShardFor(IGuild guild)
=> GetShardFor(guild.Id); => GetShardFor(guild?.Id ?? 0);
/// <inheritdoc /> /// <inheritdoc />
public override async Task<RestApplication> GetApplicationInfoAsync(RequestOptions options = null) public override async Task<RestApplication> GetApplicationInfoAsync(RequestOptions options = null)