diff --git a/src/Discord.Net.Rest/DiscordRestApiClient.cs b/src/Discord.Net.Rest/DiscordRestApiClient.cs index 1fac66ec5..179f88b76 100644 --- a/src/Discord.Net.Rest/DiscordRestApiClient.cs +++ b/src/Discord.Net.Rest/DiscordRestApiClient.cs @@ -577,7 +577,8 @@ namespace Discord.API options = RequestOptions.CreateOrClone(options); - var ids = new BucketIds(channelId: channelId); + var id = new Random().Next(0, int.MaxValue); + var ids = new BucketIds(channelId: (ulong)id); await SendAsync("PUT", () => $"channels/{channelId}/messages/{messageId}/reactions/{emoji}/@me", ids, options: options).ConfigureAwait(false); } @@ -589,7 +590,8 @@ namespace Discord.API options = RequestOptions.CreateOrClone(options); - var ids = new BucketIds(channelId: channelId); + var id = new Random().Next(0, int.MaxValue); + var ids = new BucketIds(channelId: (ulong)id); await SendAsync("DELETE", () => $"channels/{channelId}/messages/{messageId}/reactions/{emoji}/{userId}", ids, options: options).ConfigureAwait(false); } diff --git a/src/Discord.Net.WebSocket/DiscordSocketClient.cs b/src/Discord.Net.WebSocket/DiscordSocketClient.cs index b13ceca1d..1511a7e88 100644 --- a/src/Discord.Net.WebSocket/DiscordSocketClient.cs +++ b/src/Discord.Net.WebSocket/DiscordSocketClient.cs @@ -1631,7 +1631,9 @@ namespace Discord.WebSocket internal ISocketPrivateChannel AddPrivateChannel(API.Channel model, ClientState state) { - var channel = SocketChannel.CreatePrivate(this, state, model); + if (state.GetChannel(model.Id) is ISocketPrivateChannel channel) + return channel; + channel = SocketChannel.CreatePrivate(this, state, model); state.AddChannel(channel as SocketChannel); if (channel is SocketDMChannel dm) dm.Recipient.GlobalUser.DMChannel = dm;