private void OnUserListUpdate(object sender, IrcUserListReceivedEventArgs args) { DebugHandler.TraceMessage("OnUserListUpdate Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); try { if (args.UsersPerChannel.Count > 0) { IrcClientConnectionStatusArgs eventArgs = new IrcClientConnectionStatusArgs() { ChannelsAndUsers = args.UsersPerChannel, Connected = true, CurrentIrcSettings = IrcSettings }; DebugHandler.TraceMessage(eventArgs.ToString(), DebugSource.TASK, DebugType.PARAMETERS); if (!IsConnectedBool) { OnIrcClientConnectionStatusEvent?.Invoke(this, eventArgs); } IsConnectedBool = true; } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); } }
public bool StopConnection() { DebugHandler.TraceMessage("StopConnection Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); try { if (IrcClient.IsClientRunning()) { if (IrcClient.StopClient()) { if (IrcClient.StopXDCCDownload()) { DebugHandler.TraceMessage("Succesfully stopped download before stopping IRC Client!", DebugSource.TASK, DebugType.INFO); } OnIrcClientConnectionStatusEvent?.Invoke(this, new IrcClientConnectionStatusArgs() { Connected = false, CurrentIrcSettings = IrcSettings }); DebugHandler.TraceMessage("Succesfully stopped IRC Client!", DebugSource.TASK, DebugType.INFO); return(true); } else { DebugHandler.TraceMessage("Could not stop connection with IRC server!", DebugSource.TASK, DebugType.WARNING); return(false); } } else { DebugHandler.TraceMessage("Irc client is is not connected!", DebugSource.TASK, DebugType.WARNING); return(true); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); return(false); } }
public bool StartConnection(IrcSettings settings = null) { DebugHandler.TraceMessage("StartConnection Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); try { if (settings != null) { DebugHandler.TraceMessage(settings.ToString(), DebugSource.TASK, DebugType.PARAMETERS); IrcSettings = settings; } IrcClient.SetupIrc(IrcSettings.ServerAddress, IrcSettings.UserName, IrcSettings.Channels, IrcSettings.Port, "", 3000, IrcSettings.Secure); Thread.Sleep(500); if (!IrcClient.StartClient()) { OnIrcClientConnectionStatusEvent?.Invoke(this, new IrcClientConnectionStatusArgs() { Connected = false, ChannelsAndUsers = null }); DebugHandler.TraceMessage("Irc client is could not connect!", DebugSource.TASK, DebugType.WARNING); return(false); } else { DebugHandler.TraceMessage("Irc client is succesfully connected!", DebugSource.TASK, DebugType.INFO); return(true); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); return(false); } }