using System; using System.Collections.Generic; namespace SharpChat { public interface IChatCommandContext { IEnumerable Args { get; } ChatUser User { get; } ChatChannel Channel { get; } } public class ChatCommandContext : IChatCommandContext { public IEnumerable Args { get; } public ChatUser User { get; } public ChatChannel Channel { get; } public ChatCommandContext(IEnumerable args, ChatUser user, ChatChannel channel) { Args = args ?? throw new ArgumentNullException(nameof(args)); User = user ?? throw new ArgumentNullException(nameof(user)); Channel = channel ?? throw new ArgumentNullException(nameof(channel)); } } }