diff --git a/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs b/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs index f10638bba..4014c7e1e 100644 --- a/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs +++ b/src/Discord.Net.WebSocket/Audio/Streams/InputStream.cs @@ -25,6 +25,8 @@ namespace Discord.Audio.Streams public override Task ReadFrameAsync(CancellationToken cancelToken) { + cancelToken.ThrowIfCancellationRequested(); + if (_frames.TryDequeue(out var frame)) return Task.FromResult(frame); return Task.FromResult(null); diff --git a/src/Discord.Net.WebSocket/DiscordShardedClient.cs b/src/Discord.Net.WebSocket/DiscordShardedClient.cs index 874d34557..1dc348c20 100644 --- a/src/Discord.Net.WebSocket/DiscordShardedClient.cs +++ b/src/Discord.Net.WebSocket/DiscordShardedClient.cs @@ -233,7 +233,7 @@ namespace Discord.WebSocket int id = _shardIds[i]; var arr = guilds.Where(x => GetShardIdFor(x) == id).ToArray(); if (arr.Length > 0) - await _shards[i].DownloadUsersAsync(arr); + await _shards[i].DownloadUsersAsync(arr).ConfigureAwait(false); } }