private async Task Discord_VoiceServerUpdated(VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return;
            }

            if (this.ConnectedGuilds.TryGetValue(e.Guild.Id, out var lvlgc))
            {
                var lvlp = new LavalinkVoiceUpdate(lvlgc.VoiceStateUpdate, e);
                await this.WebSocket.SendMessageAsync(JsonConvert.SerializeObject(lvlp)).ConfigureAwait(false);
            }

            if (this.VoiceServerUpdates.TryRemove(gld.Id, out var xe))
            {
                xe.SetResult(e);
            }
        }
示例#2
0
        private Task Discord_VoiceServerUpdated(DiscordClient client, VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return(Task.CompletedTask);
            }

            if (this._connectedGuilds.TryGetValue(e.Guild.Id, out var lvlgc))
            {
                var lvlp = new LavalinkVoiceUpdate(lvlgc.VoiceStateUpdate, e);
                _ = Task.Run(() => this.WsSendAsync(JsonConvert.SerializeObject(lvlp)));
            }

            if (this.VoiceServerUpdates.TryRemove(gld.Id, out var xe))
            {
                xe.SetResult(e);
            }

            return(Task.CompletedTask);
        }
        private Task Discord_VoiceServerUpdated(VoiceServerUpdateEventArgs e)
        {
            var gld = e.Guild;

            if (gld == null)
            {
                return(Task.Delay(0));
            }

            if (this.ConnectedGuilds.TryGetValue(e.Guild.Id, out var lvlgc))
            {
                var lvlp = new LavalinkVoiceUpdate(lvlgc.VoiceStateUpdate, e);
                this.WebSocket.SendMessage(JsonConvert.SerializeObject(lvlp));
            }

            if (this.VoiceServerUpdates.ContainsKey(gld.Id))
            {
                this.VoiceServerUpdates.TryRemove(gld.Id, out var xe);
                xe.SetResult(e);
            }

            return(Task.Delay(0));
        }