Exemplo n.º 1
0
 public bool Login(
     string username,
     string password,
     Enums.OnlineStatus onlineStatus = Enums.OnlineStatus.Online,
     Enums.DeviceType deviceType     = Enums.DeviceType.Android)
 {
     try
     {
         Current = this;
         PacketManager.InitializeHandlers();
         CommandManager.InitializeCommands();
         Username       = username;
         Password       = password;
         OnlineStatus   = onlineStatus;
         DeviceType     = deviceType;
         _tcpClient     = new TcpClient(_host, _port);
         Current        = this;
         _networkStream = _tcpClient.GetStream();
         SendPacket(PacketTemplates.Logon(Username, DeviceType));
         _networkStream.BeginRead(_buffer, 0, _buffer.Length, ReadCallback, null);
         Console.WriteLine(_buffer.Length);
         return(true);
     }
     catch (Exception a)
     {
         return(false);
     }
 }
Exemplo n.º 2
0
        public void Process(Tcp tcp, Packet packet)
        {
            var payload    = Encoding.Default.GetBytes(packet.Payload); // windows-1252
            var password   = Encoding.Default.GetBytes(tcp.Password);
            var encrypted  = Crypto.GenerateAuth(payload, password);
            var authpacket = PacketTemplates.Auth(encrypted, Enums.OnlineStatus.Online);

            tcp.SendPacket(authpacket);
        }
Exemplo n.º 3
0
        // Misc

        public void SendGroupTextMessage(int groupId, string message)
        {
            if (message.Length <= 512)
            {
                PacketTemplates.GroupMessage(groupId, message).Write();
            }
            else
            {
                PacketTemplates.ChunkGroupMessage(groupId, message).ToList().ForEach(p => p.Write());
            }
        }
Exemplo n.º 4
0
 public void SendGroupImage(int groupId, byte[] img)
 {
     PacketTemplates.GroupImage(groupId, img).ToList().ForEach(p => p.Write());
 }
Exemplo n.º 5
0
 public void SendPrivateTextMessage(int userId, string message)
 {
     PacketTemplates.PrivateMessage(userId, message).Write();
 }
Exemplo n.º 6
0
 public void Process(Tcp tcp, Packet packet)
 {
     tcp.SendPacket(PacketTemplates.PING());
 }