示例#1
0
        /// <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));
        }
示例#2
0
        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;
 }