public async ValueTask HandleVoiceServerUpdated(object sender, VoiceServerUpdatedEventArgs e) { foreach (var service in VoiceServerUpdatedServices) { await ExecuteAsync((service, e) => service.OnVoiceServerUpdated(e), service, e).ConfigureAwait(false); } }
private Task VoiceServerUpdatedAsync(VoiceServerUpdatedEventArgs e) { // Shouldn't ever be false. if (!Players.TryGetValue(e.Guild.Id, out var player)) { return(Task.CompletedTask); } return(VoiceServerUpdated.SendAsync(player, e).AsTask()); }
internal static ValueTask SendAsync(LavalinkPlayer player, VoiceServerUpdatedEventArgs e) { using var payloadWriter = new PayloadWriter(player); var writer = payloadWriter.Writer; payloadWriter.WriteStartPayload("voiceUpdate"); writer.WriteString("sessionId", player.SessionId); writer.WriteStartObject("event"); writer.WriteString("token", e.Token); writer.WriteString("guild_id", player.GuildIdStr); writer.WriteString("endpoint", e.Endpoint); writer.WriteEndObject(); return(payloadWriter.SendAsync()); }
protected internal virtual ValueTask OnVoiceServerUpdated(VoiceServerUpdatedEventArgs e) => default;