예제 #1
0
 private void LocalUserOnJoinedChannel(object sender, IrcChannelEventArgs e)
 {
     e.Channel.MessageReceived += (s, args) =>
     {
         ChannelOnMessageReceived(sender, args, e.Channel);
     };
 }
예제 #2
0
        /// <summary>
        /// Event: on joined channel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="ircChannelEventArgs"></param>
        private void OnJoinedChannel(object sender, IrcChannelEventArgs ircChannelEventArgs)
        {
            _log.Debug("Joined channel " + ircChannelEventArgs.Channel.Name + "...");

            // Register the channel events
            var chan = ircChannelEventArgs.Channel;

            _joinedChannels.Add(ircChannelEventArgs.Channel.Name);
            chan.MessageReceived += (o, args) =>
            {
                OnMessageReceived(o, args, ircChannelEventArgs.Channel);
                MessageReceived?.Invoke(this, args);
            };
            chan.NoticeReceived += OnNoticeReceived;

            // Say hello
            if (!WhisperClient)
            {
                Client.LocalUser.SendMessage("#" + ircChannelEventArgs.Channel.Name, "Hello world");
            }
            // Start periodic message timer (?)

            // Check if joined group channel
            if (GroupChatRoom != null && GroupChatRoom.IrcChannel == ircChannelEventArgs.Channel.Name.Substring(1))
            {
                // _stateMachine.Fire(Trigger.JoinedGroupChat);
                Client.LocalUser.SendMessage("#" + GroupChatRoom.IrcChannel, ".w paralin HeyGuys");
            }
        }
예제 #3
0
 private static void IrcClient_LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
 {
     logger.Debug("IrcClient_LocalUser_JoinedChannel - e.Channel.MessageReceived += IrcClient_Channel_MessageReceived;");
     e.Channel.MessageReceived += IrcClient_Channel_MessageReceived;
     Console.WriteLine("Bot ready in IRC channel {0}.", e.Channel.Name);
     Console.Write("> ");
 }
예제 #4
0
        void LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
        {
            e.Channel.MessageReceived += SpeedRunsLive_MessageReceived;

            if (e.Channel == RaceChannel)
            {
                e.Channel.ModesChanged      += RaiseUserListRefreshed;
                e.Channel.UserJoined        += RaiseUserListRefreshed;
                e.Channel.UserKicked        += RaiseUserListRefreshed;
                e.Channel.UserLeft          += RaiseUserListRefreshed;
                e.Channel.UsersListReceived += RaiseUserListRefreshed;
                e.Channel.UsersListReceived += Channel_UsersListReceived;
                RaceChannel.TopicChanged    += RaceChannel_TopicChanged;
                RaceChannel.UserKicked      += RaceChannel_UserKicked;
            }

            if (e.Channel == LiveSplitChannel)
            {
                e.Channel.UsersListReceived += Channel_UsersListReceived;
            }

            if (ChannelJoined != null)
            {
                ChannelJoined(this, e.Channel.Name);
            }
        }
예제 #5
0
        void HandleLeftChannel(object sender, IrcChannelEventArgs e)
        {
            e.Channel.UserJoined -= HandleUserJoined;
            e.Channel.UserLeft   -= HandleUserLeft;

            e.Channel.MessageReceived -= HandleMessageReceived;
        }
예제 #6
0
        private void LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
        {
            currentChannel = e.Channel;

            newChannels.Add(e.Channel);
            //ChannelTabCtb.Channel = e.Channel;
            //ChannelTabCtb.LogChatLine("Joined channel: " + currentChannel.Name);
        }
예제 #7
0
 private void Irc_JoinedChannel(object sender, IrcChannelEventArgs e)
 {
     if (EnableConsoleLogging)
     {
         Console.WriteLine("Joined channel");
     }
     e.Channel.MessageReceived += Irc_ChannelMessageReceived;
 }
예제 #8
0
 void OnIRCJoinedChannel(object sender, IrcChannelEventArgs e)
 {
     e.Channel.MessageReceived   += OnChannelMessage;
     e.Channel.UserJoined        += OnChannelJoined;
     e.Channel.UserKicked        += OnChannelKicked;
     e.Channel.UserLeft          += OnChannelLeft;
     e.Channel.UsersListReceived += OnChannelUsersList;
 }
예제 #9
0
 private void client_LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
 {
     m_joinedEvent.Set();
     m_channel = e.Channel;
     m_channel.MessageReceived   += channel_MessageReceived;
     m_channel.UserJoined        += m_channel_UserJoined;
     m_channel.UsersListReceived += m_channel_UsersListReceived;
 }
예제 #10
0
        private void localUserJoinedChannel(object sender, IrcChannelEventArgs e)
        {
            var icvm = new IrcChannelViewModel(e.Channel, this.DisplayName, this.Settings);

            icvm.Parent              = this;
            icvm.JoinChannelClicked += this.JoinChannel;
            this.Items.Add(icvm);
        }
예제 #11
0
        private void OnLeftModChannel(IrcChannelEventArgs args)
        {
            var func = LeftModChannel;

            if (func != null)
            {
                func(this, args);
            }
        }
예제 #12
0
        private void IrcClient_LocalUser_LeftChannel(object sender, IrcChannelEventArgs e)
        {
            messageQueues[e.Channel.Name].CompleteAdding();

            //e.Channel.UserJoined -= IrcClient_Channel_UserJoined;
            //e.Channel.UserLeft -= IrcClient_Channel_UserLeft;
            e.Channel.MessageReceived -= IrcClient_Channel_MessageReceived;
            //e.Channel.NoticeReceived -= IrcClient_Channel_NoticeReceived;
        }
예제 #13
0
        private void OnJoinedChannel(IrcChannelEventArgs args)
        {
            var func = JoinedChannel;

            if (func != null)
            {
                func(this, args);
            }
        }
예제 #14
0
파일: Program.cs 프로젝트: ziccardi/fehbot
        private void JoinedChannel(object _client, IrcChannelEventArgs e2)
        {
            var client  = e2.Channel.Client;
            var channel = e2.Channel;

            channel.MessageReceived += HandleMessage;

            client.LocalUser.SendMessage(channel, "Hello World!");
        }
예제 #15
0
 public void HandleLeaveChannel(object sender, IrcChannelEventArgs e)
 {
     if (e.Channel == channel)
     {
         IrcLocalUser client = (IrcLocalUser)sender;
         client.LeftChannel -= HandleLeaveChannel;
         Form1.eventQueue.QueueEventAction(new Utility.EventQueue.VoidEventAction(DeleteThisTab));
     }
 }
예제 #16
0
 private void Irc_JoinedChannel(object sender, IrcChannelEventArgs e)
 {
     if (EnableConsoleLogging)
     {
         Console.WriteLine("Joined channel");
     }
     e.Channel.MessageReceived += Irc_ChannelMessageReceived;
     ConnectComplete?.Invoke(this, new EventArgs());
 }
예제 #17
0
 private static void LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
 {
     e.Channel.MessageReceived += Channel_MessageReceived;
     Console.WriteLine("Joined " + e.Channel + "\n");
     EventHandler<JoinedChannelEventArgs> handler = JoinedChannel;
     if (handler != null)
     {
         handler(null, new JoinedChannelEventArgs(e.Channel);
     }
 }
예제 #18
0
        private void LocalUserOnJoinedChannel(object sender, IrcChannelEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            e.Channel.UserJoined      += IrcClientChannelUserJoined;
            e.Channel.UserLeft        += IrcClientChannelUserLeft;
            e.Channel.MessageReceived += IrcClientChannelMessageReceived;
            e.Channel.NoticeReceived  += IrcClientChannelNoticeReceived;
            OnLocalUserJoinedChannel(localUser, e);
        }
예제 #19
0
        private static void IrcClient_LocalUser_LeftChannel(object sender, IrcChannelEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            e.Channel.UserJoined      -= IrcClient_Channel_UserJoined;
            e.Channel.UserLeft        -= IrcClient_Channel_UserLeft;
            e.Channel.MessageReceived -= IrcClient_Channel_MessageReceived;
            e.Channel.NoticeReceived  -= IrcClient_Channel_NoticeReceived;

            Console.WriteLine("You left the channel {0}.", e.Channel.Name);
        }
예제 #20
0
        private void IrcClient_LocalUser_LeftChannel(object sender, IrcChannelEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            e.Channel.UserJoined      -= IrcClient_Channel_UserJoined;
            e.Channel.UserLeft        -= IrcClient_Channel_UserLeft;
            e.Channel.MessageReceived -= IrcClient_Channel_MessageReceived;
            e.Channel.NoticeReceived  -= IrcClient_Channel_NoticeReceived;

            OnLocalUserJoinedChannel(localUser, e);
        }
예제 #21
0
        private void IrcClient_LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
        {
            //from sample
            var localUser = (IrcLocalUser)sender;

            e.Channel.UserJoined      += IrcClient_Channel_UserJoined;
            e.Channel.UserLeft        += IrcClient_Channel_UserLeft;
            e.Channel.MessageReceived += IrcClient_Channel_MessageReceived;
            e.Channel.NoticeReceived  += IrcClient_Channel_NoticeReceived;

            Console.WriteLine("You joined the channel {0}.", e.Channel.Name);
        }
예제 #22
0
        private void IrcClient_LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
        {
            var queue = new BlockingCollection <IrcMessageEventArgs>();

            messageQueues[e.Channel.Name] = queue;
            messageDispatchers.Add(Task.Run(() => DispatchMessages(queue, OnMessageReceived)));

            //e.Channel.UserJoined += IrcClient_Channel_UserJoined;
            //e.Channel.UserLeft += IrcClient_Channel_UserLeft;
            e.Channel.MessageReceived += IrcClient_Channel_MessageReceived;
            //e.Channel.NoticeReceived += IrcClient_Channel_NoticeReceived;
        }
예제 #23
0
파일: IRC.cs 프로젝트: Techial/TechBot
        private static void IrcClient_LocalUser_JoinedChannel(object sender,
                                                              IrcChannelEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            e.Channel.UserJoined += IrcClient_Channel_UserJoined;
            e.Channel.UserLeft   += IrcClient_Channel_UserLeft;

            TechBot.Objects.Channel newChannel = new TechBot.Objects.Channel(e.Channel);
            ChannelList.Add(newChannel);

            Log.Logger.OutputToConsole("You joined the channel {0}.", e.Channel.Name);
        }
예제 #24
0
파일: Program.cs 프로젝트: ags131/ircbot
 static void LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
 {
     Console.WriteLine("Joined channel {0}", e.Channel);
     e.Channel.MessageReceived += Channel_MessageReceived;
     if (kicked)
     {
         kicked = false;
         irc.LocalUser.SendMessage("#udoo", "That was rude!");
     }
     else
     {
         irc.LocalUser.SendMessage("#udoo", "Hello");
     }
 }
예제 #25
0
        private void Irc_LeftChannel(object sender, IrcChannelEventArgs e)
        {
            if (EnableConsoleLogging)
            {
                Console.WriteLine("Left channel");
            }
            e.Channel.MessageReceived -= Irc_ChannelMessageReceived;

            // Try to join again
            // Only rejoin if the channel left corresponds to this IrcConnection instance.
            // This class may have a StandardIrcClient that's shared with another IrcConnection that handles another channel.
            if (e.Channel.Name == IrcConnectionInfo.Channel)
            {
                JoinIrcChannel();
            }
        }
예제 #26
0
파일: IRC.cs 프로젝트: Techial/TechBot
        private static void IrcClient_LocalUser_LeftChannel(object sender,
                                                            IrcChannelEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            e.Channel.UserJoined -= IrcClient_Channel_UserJoined;
            e.Channel.UserLeft   -= IrcClient_Channel_UserLeft;

            TechBot.Objects.Channel Channel = FindChannel(e.Channel.Name.Substring(1));
            if (ChannelList.Contains(Channel))
            {
                ChannelList.Remove(Channel);
            }

            Log.Logger.OutputToConsole("You left the channel {0}.", e.Channel.Name);
        }
예제 #27
0
        private void UserOnJoinedChannel(object sender, IrcChannelEventArgs args)
        {
            var name = args.Channel.Name;

            if (name == _settings.Channel)
            {
                OnJoinedChannel(args);
                _channel = args.Channel;
                _channel.MessageReceived += ChannelOnMessageReceived;
            }
            else if (name == _settings.ModChannel)
            {
                OnJoinedModChannel(args);
                _modChannel = args.Channel;
                _modChannel.MessageReceived += ModChannelOnMessageReceived;
            }
        }
예제 #28
0
        /// <summary>
        /// Executed when IRC client joined the channel.
        /// Beware: This is executed by a different thread.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void OnLocalUserJoinedChannel(object sender, IrcChannelEventArgs e)
        {
            // save reference to channel
            IrcChannel = e.Channel;

            // hook up new message listener
            e.Channel.MessageReceived += OnMessageReceived;

            string ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

            // build the welcome-string
            string welcomestr =
                "Meridian 59 IRC BOT (" + ver + ") - Player " + Config.Character + " on host " + Config.Host + ":" + Config.Port;

            // try to log the chatmessage to IRC
            IrcClient.LocalUser.SendMessage(IrcChannel, welcomestr);
        }
예제 #29
0
        private void UserOnLeftChannel(object sender, IrcChannelEventArgs args)
        {
            var name = args.Channel.Name;

            if (name == _settings.Channel)
            {
                OnLeftChannel(args);
                _channel.MessageReceived -= ChannelOnMessageReceived;
                _channel = null;
            }
            else if (name == _settings.ModChannel)
            {
                OnLeftModChannel(args);
                _modChannel.MessageReceived -= ModChannelOnMessageReceived;
                _modChannel = null;
            }
        }
예제 #30
0
        private void LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;
            var details   = GetChannelFromEvent(e);

            details.Channel.Joined = true;

            e.Channel.UserJoined        += Channel_UserJoined;
            e.Channel.MessageReceived   += Channel_MessageReceived;
            e.Channel.ModesChanged      += Channel_ModesChanged;
            e.Channel.NoticeReceived    += Channel_NoticeReceived;
            e.Channel.TopicChanged      += Channel_TopicChanged;
            e.Channel.UserInvited       += Channel_UserInvited;
            e.Channel.UserKicked        += Channel_UserKicked;
            e.Channel.UserLeft          += Channel_UserLeft;
            e.Channel.UsersListReceived += Channel_UsersListReceived;

            details.Network.Channels.Add(details.Channel);
            mediator.Publish(new IRCStateChangedEvent());
        }
예제 #31
0
        private static void ircClient1_LocalUser_LeftChannel(object sender, IrcChannelEventArgs e)
        {
            e.Channel.UsersListReceived -= ircClient1_Channel_UsersListReceived;
            e.Channel.ModesChanged -= ircClient1_Channel_ModesChanged;
            e.Channel.TopicChanged -= ircClient1_Channel_TopicChanged;
            e.Channel.UserJoined -= ircClient1_Channel_UserJoined;
            e.Channel.UserLeft -= ircClient1_Channel_UserLeft;
            e.Channel.UserKicked -= ircClient1_Channel_UserKicked;
            e.Channel.UserInvited -= ircClient1_Channel_UserInvited;
            e.Channel.MessageReceived -= ircClient1_Channel_MessageReceived;
            e.Channel.NoticeReceived -= ircClient1_Channel_NoticeReceived;

            client1ChannelLeaveComment = e.Comment;

            if (client1ChannelLeftEvent != null)
                client1ChannelLeftEvent.Set();
        }
        private static void ircClient1_LocalUser_JoinedChannel(object sender, IrcChannelEventArgs e)
        {
            e.Channel.UsersListReceived += ircClient1_Channel_UsersListReceived;
            e.Channel.ModesChanged += ircClient1_Channel_ModesChanged;
            e.Channel.TopicChanged += ircClient1_Channel_TopicChanged;
            e.Channel.UserJoined += ircClient1_Channel_UserJoined;
            e.Channel.UserLeft += ircClient1_Channel_UserLeft;
            e.Channel.UserKicked += ircClient1_Channel_UserKicked;
            e.Channel.MessageReceived += ircClient1_Channel_MessageReceived;
            e.Channel.NoticeReceived += ircClient1_Channel_NoticeReceived;

            if (client1ChannelJoinedEvent != null)
                client1ChannelJoinedEvent.Set();
        }
예제 #33
0
파일: IrcBot.cs 프로젝트: matthid/ircdotnet
 protected virtual void OnLocalUserLeftChannel(IrcLocalUser localUser, IrcChannelEventArgs e)
 {
 }
예제 #34
0
파일: IrcBot.cs 프로젝트: djeebus/MusicHub
        private void IrcClient_LocalUser_LeftChannel(object sender, IrcChannelEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            e.Channel.UserJoined -= IrcClient_Channel_UserJoined;
            e.Channel.UserLeft -= IrcClient_Channel_UserLeft;
            e.Channel.MessageReceived -= IrcClient_Channel_MessageReceived;
            e.Channel.NoticeReceived -= IrcClient_Channel_NoticeReceived;

            OnLocalUserLeftChannel(localUser, e);
        }
예제 #35
0
파일: IrcBot.cs 프로젝트: djeebus/MusicHub
 protected abstract void OnLocalUserLeftChannel(IrcLocalUser localUser, IrcChannelEventArgs e);
예제 #36
0
        private static void ircClient2_LocalUser_LeftChannel(object sender, IrcChannelEventArgs e)
        {
            e.Channel.UserJoined -= ircClient2_Channel_UserJoined;
            e.Channel.UserLeft -= ircClient2_Channel_UserLeft;
            e.Channel.UserKicked -= ircClient2_Channel_UserKicked;
            e.Channel.MessageReceived -= ircClient2_Channel_MessageReceived;
            e.Channel.NoticeReceived -= ircClient2_Channel_NoticeReceived;

            if (client2ChannelLeftEvent != null)
                client2ChannelLeftEvent.Set();
        }