/// <exception cref="DiscordWebSocketException">Thrown if the payload fails to send because of a WebSocket error.</exception> /// <exception cref="InvalidOperationException">Thrown if the socket is not connected.</exception> /// <exception cref="JsonWriterException">Thrown if the given data cannot be serialized as JSON.</exception> Task SendPayload(VoiceOPCode op, DiscordApiData data) { DiscordApiData payload = new DiscordApiData(); payload.Set("op", (int)op); payload.Set("d", data); return(SendAsync(payload)); }
protected override Task OnPayloadReceived(DiscordApiData payload) { VoiceOPCode op = (VoiceOPCode)payload.GetInteger("op").Value; DiscordApiData d = payload.Get("d"); PayloadCallback callback; if (payloadHandlers.TryGetValue(op, out callback)) { callback(payload, d); } else { log.LogWarning($"Missing handler for payload: {op} ({(int)op})"); } return(Task.CompletedTask); }
public PayloadAttribute(VoiceOPCode opCode) { OPCode = opCode; }