using System; using System.Text; namespace SharpChat.SockChat.PacketsS2C { public class BanListResponseS2CPacket : ISockChatS2CPacket { private readonly long MessageId; private readonly DateTimeOffset TimeStamp; private readonly string[] Bans; public BanListResponseS2CPacket(string[] bans) { MessageId = SharpId.Next(); TimeStamp = DateTimeOffset.UtcNow; Bans = bans; } public string Pack() { StringBuilder sb = new(); sb.AppendFormat("2\t{0}\t-1\t0\fbanlist\f", TimeStamp.ToUnixTimeSeconds()); foreach(string ban in Bans) sb.AppendFormat(@"{0}, ", ban); if(Bans.Length > 0) sb.Length -= 2; sb.AppendFormat("\t{0}\t10010", MessageId); return sb.ToString(); } } }