public static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Usage: twitchirc <username> <oauth>"); Console.WriteLine("Use http://twitchapps.com/tmi/ to generate an <oauth> token!"); return; } var server = "irc.twitch.tv"; var username = args[0]; var password = args[1]; Console.WriteLine("Starting to connect to twitch as {0}.", username); using (var client = new IrcDotNet.TwitchIrcClient()) { client.FloodPreventer = new IrcStandardFloodPreventer(4, 2000); client.Disconnected += IrcClient_Disconnected; client.Registered += IrcClient_Registered; // Wait until connection has succeeded or timed out. using (var registeredEvent = new ManualResetEventSlim(false)) { using (var connectedEvent = new ManualResetEventSlim(false)) { client.Connected += (sender2, e2) => connectedEvent.Set(); client.Registered += (sender2, e2) => registeredEvent.Set(); client.Connect(server, false, new IrcUserRegistrationInfo() { NickName = username, Password = password, UserName = username }); if (!connectedEvent.Wait(10000)) { Console.WriteLine("Connection to '{0}' timed out.", server); return; } } Console.Out.WriteLine("Now connected to '{0}'.", server); if (!registeredEvent.Wait(10000)) { Console.WriteLine("Could not register to '{0}'.", server); return; } } Console.Out.WriteLine("Now registered to '{0}' as '{1}'.", server, username); HandleEventLoop(client); } }
public static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Usage: twitchirc <username> <oauth>"); Console.WriteLine("Use http://twitchapps.com/tmi/ to generate an <oauth> token!"); return; } var server = "irc.twitch.tv"; var username = args[0]; var password = args[1]; Console.WriteLine("Starting to connect to twitch as {0}.", username); using (var client = new IrcDotNet.TwitchIrcClient()) { client.FloodPreventer = new IrcStandardFloodPreventer(4, 2000); client.Disconnected += IrcClient_Disconnected; client.Registered += IrcClient_Registered; // Wait until connection has succeeded or timed out. using (var registeredEvent = new ManualResetEventSlim(false)) { using (var connectedEvent = new ManualResetEventSlim(false)) { client.Connected += (sender2, e2) => connectedEvent.Set(); client.Registered += (sender2, e2) => registeredEvent.Set(); client.Connect(server, false, new IrcUserRegistrationInfo() { NickName = username, Password = password, UserName = username }); if (!connectedEvent.Wait(10000)) { Console.WriteLine("Connection to '{0}' timed out.", server); return; } } Console.Out.WriteLine("Now connected to '{0}'.", server); if (!registeredEvent.Wait(10000)) { Console.WriteLine("Could not register to '{0}'.", server); return; } } Console.Out.WriteLine("Now registered to '{0}' as '{1}'.", server, username); HandleEventLoop(client); } }