Fixed DiscordShardedClient CurrentUser and RecipientRemoved
This commit is contained in:
@@ -65,7 +65,7 @@ namespace Discord.WebSocket
|
||||
var newConfig = config.Clone();
|
||||
newConfig.ShardId = _shardIds[i];
|
||||
_shards[i] = new DiscordSocketClient(newConfig, _connectionGroupLock, i != 0 ? _shards[0] : null);
|
||||
RegisterEvents(_shards[i]);
|
||||
RegisterEvents(_shards[i], i == 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,7 +87,7 @@ namespace Discord.WebSocket
|
||||
newConfig.ShardId = _shardIds[i];
|
||||
newConfig.TotalShards = _totalShards;
|
||||
_shards[i] = new DiscordSocketClient(newConfig, _connectionGroupLock, i != 0 ? _shards[0] : null);
|
||||
RegisterEvents(_shards[i]);
|
||||
RegisterEvents(_shards[i], i == 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ namespace Discord.WebSocket
|
||||
await _shards[i].SetGameAsync(name, streamUrl, streamType).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private void RegisterEvents(DiscordSocketClient client)
|
||||
private void RegisterEvents(DiscordSocketClient client, bool isPrimary)
|
||||
{
|
||||
client.Log += (msg) => _logEvent.InvokeAsync(msg);
|
||||
client.LoggedOut += () =>
|
||||
@@ -269,6 +269,14 @@ namespace Discord.WebSocket
|
||||
}
|
||||
return Task.Delay(0);
|
||||
};
|
||||
if (isPrimary)
|
||||
{
|
||||
client.Ready += () =>
|
||||
{
|
||||
CurrentUser = client.CurrentUser;
|
||||
return Task.Delay(0);
|
||||
};
|
||||
}
|
||||
|
||||
client.ChannelCreated += (channel) => _channelCreatedEvent.InvokeAsync(channel);
|
||||
client.ChannelDestroyed += (channel) => _channelDestroyedEvent.InvokeAsync(channel);
|
||||
@@ -302,7 +310,7 @@ namespace Discord.WebSocket
|
||||
client.CurrentUserUpdated += (oldUser, newUser) => _selfUpdatedEvent.InvokeAsync(oldUser, newUser);
|
||||
client.UserIsTyping += (oldUser, newUser) => _userIsTypingEvent.InvokeAsync(oldUser, newUser);
|
||||
client.RecipientAdded += (user) => _recipientAddedEvent.InvokeAsync(user);
|
||||
client.RecipientAdded += (user) => _recipientRemovedEvent.InvokeAsync(user);
|
||||
client.RecipientRemoved += (user) => _recipientRemovedEvent.InvokeAsync(user);
|
||||
}
|
||||
|
||||
//IDiscordClient
|
||||
|
||||
Reference in New Issue
Block a user