Ejemplo n.º 1
0
 private void HELLO(dynamic data)
 {
     CarrotcordLogger.LogServer(CarrotcordLogger.LogSource.WEBSOCKET, "[HELLO]");
     heartbeat_interval = Convert.ToInt32(data.d.heartbeat_interval);
     CarrotcordLogger.log(CarrotcordLogger.LogSource.BOT, $"Heartbeat interval set to {heartbeat_interval}.");
     if (timer == null || bootup == false || ConnectionStatus == Connection.RESUMING)
     {
         timer           = new Timer(heartbeat_interval);
         timer.AutoReset = true;
         timer.Elapsed  += Timer_Elapsed;
         timer.Start();
         CarrotcordLogger.log(CarrotcordLogger.LogSource.WEBSOCKET, "HEARTBEAT");
         socket.SendAsync($"{{\"op\":{OPCodes.HEARTBEAT}, \"d\": null}}", new Action <bool>(completed => {
             helloHeartbeat = true;
         }));
     }
 }
Ejemplo n.º 2
0
        private void handleData(dynamic data)
        {
            string t = Convert.ToString(data.t);

            if (data.code != null && data.code != "")
            {
                var code = Convert.ToInt32(data.code);
                CarrotcordLogger.logBork($"Error Code: {code}, {(ErrorCode)code}");
                return;
            }
            if (t != "null" && t != "")
            {
                CarrotcordLogger.LogServer(CarrotcordLogger.LogSource.EVENT, t);
                switch (t)
                {
                case "READY":
                    READY(data);
                    break;

                case "MESSAGE_CREATE":
                    MESSAGE_CREATED(data);
                    break;

                case "MESSAGE_DELETE":
                    MESSAGE_DELETED(data);
                    break;

                case "GUILD_CREATE":
                    GUILD_CREATE(data);
                    break;
                }
            }
            if (data.s != null && Convert.ToInt32(data.s) != null)
            {
                //session_id = Convert.ToInt32(data.s);
                sequence = Convert.ToInt32(data.s);
            }
            if (Convert.ToString(data.op) != null)
            {
                //CarrotcordLogger.log(CarrotcordLogger.LogSource.WEBSOCKET, "OPCODE " + Convert.ToString(data.op));
            }
            switch (Convert.ToString(data.op))
            {
            case "9":
                INVALID_SESSIONS_EVENT(data);
                CarrotcordLogger.logBork("BIG BORK OPCODE 9");
                break;

            case "10":
                HELLO(data);
                break;

            case "11":
                CarrotcordLogger.LogServer(CarrotcordLogger.LogSource.WEBSOCKET, "<- HEARTBEAT RECEIVED");
                if (helloHeartbeat)
                {
                    HELLO_AFTER_HEARTBEAT();
                }
                break;
            }
        }