using System; using System.Text; namespace SharpChat.Packet { public class WhoChannelResponsePacket : ServerPacket { private readonly long Timestamp; private readonly string ChannelName; private readonly string[] Users; private readonly string SelfName; public WhoChannelResponsePacket(string channelName, string[] users, string selfName) { Timestamp = DateTimeOffset.Now.ToUnixTimeSeconds(); ChannelName = channelName; Users = users; SelfName = selfName; } public override string Pack() { StringBuilder sb = new(); sb.AppendFormat( "2\t{0}\t-1\t0\fwhochan\f{1}\f", Timestamp, SockChatUtility.SanitiseChannelName(ChannelName) ); foreach(string userName in Users) { sb.Append(@"{0}, ", userName); } if(Users.Length > 0) sb.Length -= 2; sb.AppendFormat("\t{0}\t10010", SequenceId); return sb.ToString(); } } }