namespace SharpChat {
    public class C2SPacketHandlerContext(
        string text,
        Context chat,
        Connection connection
    ) {
        public string Text { get; } = text ?? throw new ArgumentNullException(nameof(text));
        public Context Chat { get; } = chat ?? throw new ArgumentNullException(nameof(chat));
        public Connection Connection { get; } = connection ?? throw new ArgumentNullException(nameof(connection));

        public bool CheckPacketId(string packetId) {
            return Text == packetId || Text.StartsWith(packetId + '\t');
        }

        public string[] SplitText(int expect) {
            return Text.Split('\t', expect + 1);
        }
    }
}