public static void Main(string[] args) { var user = new UserConsole(); var authUser = args.Length > 0 ? new UserFile(args[0]) : (UserAbstract)user; var clientId = authUser.ReadInput("Client-Id"); var redirectURI = authUser.ReadInput("Redirect-URI"); var nickName = authUser.ReadInput("Nickname").ToLowerInvariant(); var authorization = Auth(clientId, redirectURI); using (var client = new TwitchChatClient()) { client.Type = ProtocolType.WebSocket; client.Security = ProtocolSecurity.Default; client.OAuth = authorization.AccessToken; client.Nick = nickName; client.Capabilities.Add(KnownCapabilities.Commands); client.Capabilities.Add(KnownCapabilities.Membership); client.Capabilities.Add(KnownCapabilities.Tags); client.Connect(); new Thread(() => { while (true) { var input = user.ReadInput(); var message = new IRCMessage(); message.Parse(input); client.Send(message); } }).Start(); var program = new Program(user, client); program.Run(); } }