Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }