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);
    }
}