public void askForChannels() { GetChannelPacket p = new GetChannelPacket(); p.token = Token; Client.Instance.SendPacket(p); }
private void getChannels(GetChannelPacket p, Client client) { GetChannelResponsePacket packet = new GetChannelResponsePacket(); if (UserManager.Instance.isUserConnected(p.token)) { String username = ""; try { username = UserManager.Instance.getUserFromToken(p.token).Username; } catch (Exception e) { Console.WriteLine(e); return; } String[] channels = new String[ChannelManager.Instance.getChannels().Count]; int size = channels.Length; int i = 0; foreach (String chan in ChannelManager.Instance.getChannels()) { channels[size - 1 - i] = chan; i++; } packet.channels = channels; packet.success = true; packet.message = ""; UserManager.Instance.getUserFromToken(p.token).listeningChannels = true; PresencePacket myPresence = new PresencePacket(); myPresence.name = username; myPresence.connected = true; foreach (KeyValuePair <String, Client> entry in UserManager.Instance.OnlineUsers) { try { User user = UserManager.Instance.getUserFromToken(entry.Key); if (user.listeningChannels) { PresencePacket presence = new PresencePacket(); presence.name = user.Username; presence.connected = true; client.SendPacket(presence); } if (!user.Username.Equals(username)) { entry.Value.SendPacket(myPresence); } } catch (Exception e) { Console.WriteLine(e); } } } else { packet.success = false; packet.message = "You are not connected!"; } client.SendPacket(packet); }