void Connect() { if (Connecting) { return; } Connecting = true; IrcUsers.Clear(); IrcClient = new IrcClient(); IrcClient.Connect(Config.Server, Config.Port, Config.SSL, new IrcUserRegistrationInfo() { NickName = Config.Nick, RealName = Config.RealName, UserName = Config.UserName, UserModes = new List <char> { 'i', 'w' } }); IrcClient.Disconnected += OnIRCDisconnected; IrcClient.Registered += OnIRCRegistered; CtcpClient = new CtcpClient(IrcClient) { ClientVersion = "TShockIRC v" + Version }; }
private void SetupNetwork(Network network) { var client = network.Client = new StandardIrcClient(); client.FloodPreventer = new IrcStandardFloodPreventer(4, 2000); client.Registered += Client_Registered; client.Disconnected += Client_Disconnected; client.ClientInfoReceived += Client_ClientInfoReceived; client.Error += Client_Error; client.ErrorMessageReceived += Client_ErrorMessageReceived; client.MotdReceived += Client_MotdReceived; client.ProtocolError += Client_ProtocolError; client.ChannelListReceived += Client_ChannelListReceived; client.ConnectFailed += Client_ConnectFailed; client.NetworkInformationReceived += Client_NetworkInformationReceived; client.PingReceived += Client_PingReceived; client.PongReceived += Client_PongReceived; client.ServerBounce += Client_ServerBounce; client.ServerStatsReceived += Client_ServerStatsReceived; client.ServerTimeReceived += Client_ServerTimeReceived; client.ServerSupportedFeaturesReceived += Client_ServerSupportedFeaturesReceived; client.ServerVersionInfoReceived += Client_ServerVersionInfoReceived; client.WhoIsReplyReceived += Client_WhoIsReplyReceived; client.WhoReplyReceived += Client_WhoReplyReceived; client.WhoWasReplyReceived += Client_WhoWasReplyReceived; var ctcpClient = new CtcpClient(client); ctcpClient.ClientVersion = "Jackett2";// + Engine.ConfigService.GetVersion(); ctcpClient.PingResponseReceived += CtcpClient_PingResponseReceived; ctcpClient.VersionResponseReceived += CtcpClient_VersionResponseReceived; ctcpClient.TimeResponseReceived += CtcpClient_TimeResponseReceived; ctcpClient.ActionReceived += CtcpClient_ActionReceived; networks.Add(network); }
void IRCRestart(CommandArgs e) { IrcClient.Quit("Restarting..."); IrcUsers.Clear(); IrcClient = new IrcClient(); IrcClient.Connect(Config.Server, Config.Port, Config.SSL, new IrcUserRegistrationInfo() { NickName = Config.Nick, RealName = Config.RealName, UserName = Config.UserName, UserModes = new List <char> { 'i', 'w' } }); IrcClient.Registered += OnIRCRegistered; CtcpClient = new CtcpClient(IrcClient) { ClientVersion = "TShockIRC v" + Version }; e.Player.SendInfoMessage("Restarted the IRC bot."); }
public static void ClassInitialize(TestContext testContext) { stateManager = new TestStateManager<IrcClientTestState>(); // Create IRC clients. ircClient1 = new IrcClient(); #if DEBUG ircClient1.ClientId = "1"; #endif ircClient1.FloodPreventer = new IrcStandardFloodPreventer(4, 2000); ircClient1.Connected += ircClient1_Connected; ircClient1.ConnectFailed += ircClient1_ConnectFailed; ircClient1.Disconnected += ircClient1_Disconnected; ircClient1.Error += ircClient1_Error; ircClient1.ProtocolError += ircClient1_ProtocolError; ircClient1.Registered += ircClient1_Registered; ircClient1.MotdReceived += ircClient1_MotdReceived; ircClient1.NetworkInformationReceived += ircClient1_NetworkInformationReceived; ircClient1.ServerVersionInfoReceived += ircClient1_ServerVersionInfoReceived; ircClient1.ServerTimeReceived += ircClient1_ServerTimeReceived; ircClient1.ServerLinksListReceived += ircClient1_ServerLinksListReceived; ircClient1.ServerStatsReceived += ircClient1_ServerStatsReceived; ircClient1.WhoReplyReceived += ircClient1_WhoReplyReceived; ircClient1.WhoIsReplyReceived += ircClient1_WhoIsReplyReceived; ircClient1.WhoWasReplyReceived += ircClient1_WhoWasReplyReceived; ircClient1.ChannelListReceived += ircClient1_ChannelListReceived; ircClient2 = new IrcClient(); #if DEBUG ircClient2.ClientId = "2"; #endif ircClient2.Connected += ircClient2_Connected; ircClient2.ConnectFailed += ircClient2_ConnectFailed; ircClient2.Disconnected += ircClient2_Disconnected; ircClient2.Error += ircClient2_Error; ircClient2.ProtocolError += ircClient2_ProtocolError; ircClient2.Registered += ircClient2_Registered; // Create CTCP clients over IRC clients. ctcpClient1 = new CtcpClient(ircClient1); ctcpClient1.ClientVersion = clientVersionInfo; ctcpClient1.PingResponseReceived += ctcpClient1_PingResponseReceived; ctcpClient1.VersionResponseReceived += ctcpClient1_VersionResponseReceived; ctcpClient1.TimeResponseReceived += ctcpClient1_TimeResponseReceived; ctcpClient1.ActionReceived += ctcpClient1_ActionReceived; ctcpClient2 = new CtcpClient(ircClient2); ctcpClient2.ClientVersion = clientVersionInfo; ctcpClient2.PingResponseReceived += ctcpClient2_PingResponseReceived; ctcpClient2.VersionResponseReceived += ctcpClient2_VersionResponseReceived; ctcpClient2.TimeResponseReceived += ctcpClient2_TimeResponseReceived; ctcpClient2.ActionReceived += ctcpClient2_ActionReceived; // Initialize wait handles for all events. GetAllWaitHandlesFields().ForEach(fieldInfo => fieldInfo.SetValue(null, new AutoResetEvent(false))); // Nick name length limit on irc.freenode.net is 16 chars. Func<string> getRandomUserId = () => Guid.NewGuid().ToString().Substring(0, 8); serverPassword = Properties.Resources.ServerPassword; if (string.IsNullOrEmpty(serverPassword)) serverPassword = null; nickName1 = userName1 = string.Format(Properties.Resources.NickNameFormat, getRandomUserId()); nickName2 = userName2 = string.Format(Properties.Resources.NickNameFormat, getRandomUserId()); realName = Properties.Resources.RealName; Debug.WriteLine("Client users have real name '{0}'", realName); Debug.WriteLine("Client 1 user has nick name '{0}' and user name '{1}'.", nickName1, userName1); Debug.WriteLine("Client 2 user has nick name '{0}' and user name '{1}'.", nickName2, userName2); stateManager.SetStates(IrcClientTestState.Client1Initialized, IrcClientTestState.Client2Initialized); ircClient1.Connect(Properties.Resources.ServerHostName, false, new IrcUserRegistrationInfo() { Password = serverPassword, NickName = nickName1, UserName = userName1, RealName = realName, }); ircClient2.Connect(Properties.Resources.ServerHostName, false, new IrcUserRegistrationInfo() { Password = serverPassword, NickName = nickName2, UserName = userName2, RealName = realName, }); }
private DotNetIrcClient() { this.ircClient = new IrcClient(); this.ctcpClient = new CtcpClient(this.ircClient); }