using System.Text;

namespace SharpChat.Packet {
    public class UserChannelJoinPacket(long msgId, ChatUser user) : IServerPacket {
        public ChatUser User { get; private set; } = user ?? throw new ArgumentNullException(nameof(user));

        public IEnumerable<string> Pack() {
            StringBuilder sb = new();

            sb.Append('5');
            sb.Append('\t');
            sb.Append('0');
            sb.Append('\t');
            sb.Append(User.Pack());
            sb.Append('\t');
            sb.Append(msgId);

            yield return sb.ToString();
        }
    }
}