public static byte[] MyFeatures(AresClient client) { TCPPacketWriter packet = new TCPPacketWriter(); packet.WriteString(client, Settings.VERSION + " - " + Settings.RELEASE_URL); ServerFeatures flag = (ServerFeatures.SERVER_SUPPORTS_PVT | ServerFeatures.SERVER_SUPPORTS_SHARING | ServerFeatures.SERVER_SUPPORTS_COMPRESSION | ServerFeatures.SERVER_SUPPORTS_VC | ServerFeatures.SERVER_SUPPORTS_OPUS_VC | ServerFeatures.SERVER_SUPPORTS_PM_SCRIBBLES); if (client.SupportsHTML) { flag |= ServerFeatures.SERVER_SUPPORTS_HTML; } if (Settings.Get <bool>("can_room_scribble")) { flag |= ServerFeatures.SERVER_SUPPORTS_ROOM_SCRIBBLES; } packet.WriteByte((byte)flag); packet.WriteByte(63); packet.WriteByte(Settings.Get <byte>("language")); packet.WriteUInt32(client.Cookie); packet.WriteByte(1); return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_MYFEATURES)); }
public static byte[] Userlist(AresClient client, IClient target) { TCPPacketWriter packet = new TCPPacketWriter(); packet.WriteUInt16(target.FileCount); packet.WriteUInt32(0); packet.WriteIP(Settings.HideIps ? IPAddress.Parse("0.0.0.0") : client.Ares ? target.ExternalIP : IPAddress.Parse("0.0.0.0")); packet.WriteUInt16(Settings.HideIps ? (ushort)0 : target.DataPort); packet.WriteIP(target.NodeIP); packet.WriteUInt16(target.NodePort); packet.WriteByte(0); packet.WriteString(client, target.Name); packet.WriteIP(Settings.HideIps ? IPAddress.Parse("0.0.0.0") : client.Ares ? target.LocalIP : IPAddress.Parse("0.0.0.0")); packet.WriteByte((byte)(target.Browsable ? 1 : 0)); packet.WriteByte((byte)target.Level); packet.WriteByte(target.Age); packet.WriteByte(target.Sex); packet.WriteByte(target.Country); packet.WriteString(client, target.Region); byte b = 0; if (target.SupportsHTML) { b |= CLIENT_SUPPORTS_HTML; } if (target is AresClient) { AresClient ac = (AresClient)target; if (ac != null) { if (ac.VoiceChatPublic) { b |= CLIENT_SUPPORTS_VC; } if (ac.VoiceChatPrivate) { b |= CLIENT_SUPPORTS_PM_VC; } if (ac.VoiceOpusChatPublic) { b |= CLIENT_SUPPORTS_OPUS_VC; } if (ac.VoiceOpusChatPrivate) { b |= CLIENT_SUPPORTS_OPUS_PM_VC; } } } packet.WriteByte(b); return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_CHANNEL_USER_LIST)); }
public static byte[] BrowseItem(ushort id, SharedFile file) { TCPPacketWriter packet = new TCPPacketWriter(); packet.WriteUInt16(id); packet.WriteByte((byte)file.Mime); packet.WriteUInt32(file.Size); packet.WriteBytes(file.Data); return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_BROWSEITEM)); }
public static byte[] SearchHit(AresClient client, ushort id, AresClient target, SharedFile file) { TCPPacketWriter packet = new TCPPacketWriter(); packet.WriteUInt16(id); packet.WriteByte((byte)file.Mime); packet.WriteUInt32(file.Size); packet.WriteBytes(file.Data); packet.WriteString(client, target.Name); packet.WriteIP(target.ExternalIP); packet.WriteUInt16(target.DataPort); packet.WriteIP(target.NodeIP); packet.WriteUInt16(target.NodePort); packet.WriteIP(target.LocalIP); packet.WriteByte(target.CurrentUploads); packet.WriteByte(target.MaxUploads); packet.WriteByte(target.CurrentQueued); packet.WriteByte(1); return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_SEARCHHIT)); }
public static byte[] UserlistBot(AresClient client) { TCPPacketWriter packet = new TCPPacketWriter(); packet.WriteUInt16(0); packet.WriteUInt32(0); packet.WriteIP("0.0.0.0"); packet.WriteUInt16(69); packet.WriteIP("0.0.0.0"); packet.WriteUInt16(0); packet.WriteByte(0); packet.WriteString(client, Settings.Get <String>("bot")); packet.WriteIP("0.0.0.0"); packet.WriteByte(1); packet.WriteByte(3); packet.WriteByte(0); packet.WriteByte(0); packet.WriteByte(0); packet.WriteString(client, String.Empty); return(packet.ToAresPacket(TCPMsg.MSG_CHAT_SERVER_CHANNEL_USER_LIST)); }