Пример #1
0
        protected virtual void Proc()
        {
            SyncedChannels.Clear();

            // renew the client
            Client = GetNewIrcClient();

            Client.Connect(Config.ServerHostname, Config.ServerPort);

            Client.Login(Config.Nickname, Config.DisplayName, 0, Config.Username, Config.ServerPassword);

            // perform autocommands
            foreach (var autoCmd in Config.AutoConnectCommands)
            {
                Client.WriteLine(autoCmd);
            }

            // autojoin
            foreach (var channel in Config.AutoJoinChannels)
            {
                Client.RfcJoin(channel);
            }

            // listen
            Client.Listen();

            // disconnect
            DisconnectOrWhatever();
        }
Пример #2
0
 protected virtual void HandleChannelNotice(object sender, IrcEventArgs e)
 {
     if (!SyncedChannels.Contains(e.Data.Channel))
     {
         return;
     }
     OnChannelNotice(new ChannelMessageEventArgs(e.Data));
 }
Пример #3
0
 protected virtual void HandleChannelAction(object sender, ActionEventArgs e)
 {
     if (!SyncedChannels.Contains(e.Data.Channel))
     {
         return;
     }
     OnChannelAction(new ChannelActionEventArgs(e));
 }
Пример #4
0
 protected virtual void HandleChannelSynced(object sender, IrcEventArgs e)
 {
     SyncedChannels.Add(e.Data.Channel);
 }