sharp-chat/SharpChat/Packet/BanListPacket.cs

30 lines
841 B
C#
Raw Normal View History

using System;
2022-08-30 15:00:58 +00:00
using System.Linq;
using System.Text;
namespace SharpChat.Packet {
public class BanListPacket : ServerPacket {
private readonly string[] Bans;
2022-08-30 15:00:58 +00:00
public BanListPacket(string[] bans) {
2022-08-30 15:00:58 +00:00
Bans = bans ?? throw new ArgumentNullException(nameof(bans));
}
2024-05-10 15:24:43 +00:00
public override string Pack() {
2023-02-07 15:01:56 +00:00
StringBuilder sb = new();
2022-08-30 15:00:58 +00:00
2024-05-10 17:28:52 +00:00
sb.AppendFormat("2\t{0}\t-1\t0\fbanlist\f", DateTimeOffset.Now.ToUnixTimeSeconds());
2022-08-30 15:00:58 +00:00
foreach(string ban in Bans)
sb.AppendFormat(@"<a href=""javascript:void(0);"" onclick=""Chat.SendMessageWrapper('/unban '+ this.innerHTML);"">{0}</a>, ", ban);
2022-08-30 15:00:58 +00:00
2023-02-07 15:01:56 +00:00
if(Bans.Any())
2022-08-30 15:00:58 +00:00
sb.Length -= 2;
2024-05-10 17:28:52 +00:00
sb.AppendFormat("\t{0}\t10010", SequenceId);
2022-08-30 15:00:58 +00:00
2024-05-10 15:24:43 +00:00
return sb.ToString();
2022-08-30 15:00:58 +00:00
}
}
}