private void ClientIsOnReply(object sender, IrcMessageEventArgs<IsOnReplyMessage> e)
        {
            foreach (string onlineNick in e.Message.Nicks)
            {
                if (this._waitingOnNicks.Contains(onlineNick))
                {
                    this._waitingOnNicks.Remove(onlineNick);
                }
                User knownUser;
                if (this.Contacts.Users.TryGetValue(onlineNick, out knownUser))
                {
                    knownUser.Online = true;
                }
                else if (this._trackedNicks.Contains(onlineNick))
                {
                    this._trackedNicks.Remove(onlineNick);
                }
            }

            foreach (var offlineUser in this._waitingOnNicks.Select(nick => this.Contacts.Users[nick]))
            {
                offlineUser.Online = false;
            }
            this._waitingOnNicks.Clear();
        }
Esempio n. 2
0
 /// <summary>
 ///   Raises the NickCollision event.
 /// </summary>
 protected internal void OnNickCollision(IrcMessageEventArgs<NickCollisionMessage> e)
 {
     if (this.NickCollision != null)
     {
         this.NickCollision(this, e);
     }
 }
 void client_IsOnReply( object sender, IrcMessageEventArgs<IsOnReplyMessage> e )
 {
     foreach ( String onlineNick in e.Message.Nicks )
     {
         if ( waitingOnNicks.Contains( onlineNick ) )
         {
             waitingOnNicks.Remove( onlineNick );
         }
         User knownUser = Contacts.Users.Find( onlineNick );
         if ( knownUser != null && knownUser.OnlineStatus == UserOnlineStatus.Offline )
         {
             knownUser.OnlineStatus = UserOnlineStatus.Online;
         }
         if ( knownUser == null && trackedNicks.Contains( onlineNick ) )
         {
             trackedNicks.Remove( onlineNick );
         }
     }
     foreach ( String nick in waitingOnNicks )
     {
         User offlineUser = Contacts.Users.Find( nick );
         offlineUser.OnlineStatus = UserOnlineStatus.Offline;
         waitingOnNicks.Remove( nick );
     }
 }
Esempio n. 4
0
 /// <summary>
 ///   Raises the NickCollision event.
 /// </summary>
 protected internal void OnNickInUse(IrcMessageEventArgs<NickInUseMessage> e)
 {
     if (this.NickInUse != null)
     {
         this.NickInUse(this, e);
     }
 }
Esempio n. 5
0
 /// <summary>
 ///   Raises the ErroneusNick event.
 /// </summary>
 protected internal void OnErroneusNick(IrcMessageEventArgs<ErroneusNickMessage> e)
 {
     if (this.ErroneusNick != null)
     {
         this.ErroneusNick(this, e);
     }
 }
Esempio n. 6
0
 /// <summary>
 ///   Raises the GenericErrorMessage event.
 /// </summary>
 protected internal void OnGenericErrorMessage(IrcMessageEventArgs<GenericErrorMessage> e)
 {
     if (this.GenericErrorMessage != null)
     {
         this.GenericErrorMessage(this, e);
     }
 }
 void client_WatchedUserOnline( object sender, IrcMessageEventArgs<WatchedUserOnlineMessage> e )
 {
     User knownUser = Contacts.Users.Find( e.Message.WatchedUser.Nick );
     if ( knownUser != null && knownUser.OnlineStatus == UserOnlineStatus.Offline )
     {
         knownUser.OnlineStatus = UserOnlineStatus.Online;
     }
 }
 private void ClientMonitoredUserOffline(object sender, IrcMessageEventArgs<MonitoredUserOfflineMessage> e)
 {
     foreach (var offlineNick in e.Message.Nicks)
     {
         User knownUser;
         if (this.Contacts.Users.TryGetValue(offlineNick, out knownUser))
         {
             knownUser.Online = false;
         }
     }
 }
 void client_MonitoredUserOffline( object sender, IrcMessageEventArgs<MonitoredUserOfflineMessage> e )
 {
     foreach ( String offlineNick in e.Message.Nicks )
     {
         User knownUser = this.Contacts.Users.Find( offlineNick );
         if ( knownUser != null )
         {
             knownUser.OnlineStatus = UserOnlineStatus.Offline;
         }
     }
 }
 private void ClientMonitoredUserOnline(object sender, IrcMessageEventArgs<MonitoredUserOnlineMessage> e)
 {
     foreach (var onlineUser in e.Message.Users.Values)
     {
         User knownUser;
         if (this.Contacts.Users.TryGetValue(onlineUser.Nickname, out knownUser))
         {
             knownUser.CopyFrom(onlineUser);
             knownUser.Online = true;
         }
     }
 }
 void client_MonitoredUserOnline( object sender, IrcMessageEventArgs<MonitoredUserOnlineMessage> e )
 {
     foreach ( User onlineUser in e.Message.Users )
     {
         User knownUser = this.Contacts.Users.Find( onlineUser.Nick );
         if ( knownUser != null )
         {
             knownUser.MergeWith( onlineUser );
             if ( knownUser.OnlineStatus == UserOnlineStatus.Offline )
             {
                 knownUser.OnlineStatus = UserOnlineStatus.Online;
             }
         }
     }
 }
Esempio n. 12
0
File: Todo.cs Progetto: uwat79/OCTGN
        public void ProcessMessage(IrcMessageEventArgs args, string @from, string message)
        {
            if (!File.Exists("todo.txt"))
            {
                Channel.Message("Nothing to do.", true);
                return;
            }

            var lines = File.ReadAllLines("todo.txt");

            if (lines.Length == 0)
            {
                Channel.Message("Nothing to do.", true);
                return;
            }
            Channel.Message("==============TODO==============", true);
            var i = 0;

            foreach (var l in lines)
            {
                Channel.Message("[" + i + "] " + l, true);
                i++;
            }
        }
Esempio n. 13
0
 public override void Handle(MessageType type, IrcMessageEventArgs args, Action <bool> callback)
 {
     if (Property.PropertyType == typeof(string))
     {
         string val = Property.GetValue(Plugin, null) as string;
         var    b   = GetBool(val);
         if (b.HasValue)
         {
             callback(b.Value);
         }
         else
         {
             throw new Exception(string.Format("string property value not supported: {0}", val));
         }
     }
     else if (Property.PropertyType == typeof(bool))
     {
         callback((bool)Property.GetValue(Plugin, null));
     }
     else
     {
         throw new Exception("Property type not supported");
     }
 }
Esempio n. 14
0
        private void IrcClient_LocalUser_NoticeReceived(object sender, IrcMessageEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            OnLocalUserNoticeReceived(localUser, e);
        }
Esempio n. 15
0
 public static IrcMessageEventArgs CreateReply(this IrcMessageEventArgs message, string text)
 {
     return(new IrcMessageEventArgs(message.Source, message.Targets, text, message.Encoding));
 }
Esempio n. 16
0
        private static void IrcClient_Channel_NoticeReceived(object sender, IrcMessageEventArgs e)
        {
            var channel = (IrcChannel)sender;

            Console.WriteLine("[{0}] Notice: {1}.", channel.Name, e.Text);
        }
Esempio n. 17
0
 protected abstract void OnLocalUserMessageReceived(IrcLocalUser localUser, IrcMessageEventArgs e);
Esempio n. 18
0
        private void IrcClient_LocalUser_MessageReceived(object sender, IrcMessageEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            if (e.Source is IrcUser)
            {
                // Read message and process if it is chat command.
                if (ReadChatCommand(localUser.Client, e))
                    return;
            }

            OnLocalUserMessageReceived(localUser, e);
        }
Esempio n. 19
0
 private bool ReadChatCommand(IrcClient client, IrcMessageEventArgs eventArgs)
 {
     // Check if given message represents chat command.
     var line = eventArgs.Text;
     if (line.Length > 1 && line.StartsWith("."))
     {
         // Process command.
         var parts = commandPartsSplitRegex.Split(line.Substring(1)).Select(p => p.TrimStart('/')).ToArray();
         var command = parts.First();
         var parameters = parts.Skip(1).ToArray();
         ReadChatCommand(client, eventArgs.Source, eventArgs.Targets, command, parameters);
         return true;
     }
     return false;
 }
Esempio n. 20
0
 protected abstract void OnChannelNoticeReceived(IrcChannel channel, IrcMessageEventArgs e);
Esempio n. 21
0
 private void ircClientLocalUser_MessageSent(object sender, IrcMessageEventArgs e)
 {
     Console.WriteLine("local user message sent" + e.Text);
 }
Esempio n. 22
0
 /// <summary>
 /// Called when a channel-wide notice is received.
 /// </summary>
 /// <param name="channel">The channel.</param>
 /// <param name="e">
 /// The <see cref="IrcMessageEventArgs"/> instance containing the event data.
 /// </param>
 protected override void OnChannelNoticeReceived(IrcChannel channel, IrcMessageEventArgs e)
 {
     Log.Write(string.Format("[{0}] Notice: {1}", channel.Name, e.Text), _logClassType, _logPrefix);
 }
Esempio n. 23
0
 private static void ircClient2_LocalUser_NoticeReceived(object sender, IrcMessageEventArgs e)
 {
     if (client2LocalUserNoticeReceivedEvent != null)
         client2LocalUserNoticeReceivedEvent.Set();
 }
Esempio n. 24
0
 protected virtual void OnChannelMessageReceived(IrcChannel channel, IrcMessageEventArgs e)
 {
 }
Esempio n. 25
0
 private void welcomed(Object sender, IrcMessageEventArgs <WelcomeMessage> e, Client client)
 {
     client.SendJoin(m_channel);
 }
Esempio n. 26
0
        private void Session_PrivateMessaged(object sender, IrcMessageEventArgs e)
        {
            if (App.IsIgnoreMatch(e.From, e.To.IsChannel ? IgnoreActions.Channel : IgnoreActions.Private))
            {
                return;
            }

            if (!this.IsServer)
            {
                if ((this.Target.IsChannel && this.Target.Equals(e.To)) ||
                    (!this.Target.IsChannel && this.Target.Equals(new IrcTarget(e.From)) && !e.To.IsChannel))
                {
                    bool attn = false;
                    if (App.IsAttentionMatch(this.Session.Nickname, e.Text))
                    {
                        attn = true;
                        if (_window != null)
                        {
                            App.Alert(_window, string.Format("You received an alert from {0}", this.Target.Name));
                        }
                        if (this.VisualParent == null)
                        {
                            this.NotifyState = NotifyState.Alert;
                            App.DoEvent("inactiveAlert");
                        }
                        else if (_window != null && !_window.IsActive)
                        {
                            App.DoEvent("inactiveAlert");
                        }
                        else
                        {
                            App.DoEvent("activeAlert");
                        }
                    }

                    if (e.From.Prefix.Equals("*[email protected]"))
                    {
                        int    space   = e.Text.IndexOf(' ');
                        String subject = e.Text.Substring(0, space);
                        String text    = e.Text.Substring(space + 1);

                        IrcPeer peer     = new IrcPeer(subject);
                        String  styleKey = "Default";

                        // TODO: Rewrite text if it doesn't match how Floe writes it.
                        if (text.StartsWith("set mode"))                         // sNickMask + " set mode: " + sModes + " " + sArgs
                        {
                            styleKey = "Mode";
                        }
                        else if (text.StartsWith("kicked"))                         // OpNick.GetNickMask() + " kicked " + sKickedNick + " Reason: [" + sMessage + "]"
                        {
                            styleKey = "Kick";
                        }
                        else if (text.StartsWith("quit"))                         // Nick.GetNickMask() + " quit with message: [" + sMessage + "]"
                        {
                            styleKey = "Quit";
                        }
                        else if (text.StartsWith("joined"))                         // Nick.GetNickMask() + " joined"
                        {
                            styleKey = "Join";
                        }
                        else if (text.StartsWith("parted"))                         // Nick.GetNickMask() + " parted with message: [" + sMessage + "]"
                        {
                            styleKey = "Part";
                        }
                        else if (text.StartsWith("is now known as"))                         // OldNick.GetNickMask() + " is now known as " + sNewNick
                        {
                            styleKey = "Nick";
                        }
                        else if (text.StartsWith("changed the topic"))                         // Nick.GetNickMask() + " changed the topic to: " + sTopic
                        {
                            styleKey = "Topic";
                        }
                        this.Write(styleKey, e.Message.Time, string.Format("{0} {1}", peer.Nickname, text));
                    }
                    else
                    {
                        this.Write("Default", e.Message.Time, e.From, e.Text, attn);

                        if (!this.Target.IsChannel)
                        {
                            if (e.From.Prefix != _prefix)
                            {
                                _prefix = e.From.Prefix;
                                this.SetTitle();
                            }
                            Interop.WindowHelper.FlashWindow(_window);
                            if (this.VisualParent == null)
                            {
                                App.DoEvent("privateMessage");
                            }
                        }
                    }
                }
            }
        }
Esempio n. 27
0
        /// <summary>
        /// Invoked when a private message was received.
        /// Private messages = admin console
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void OnLocalUserMessageReceived(object sender, IrcMessageEventArgs e)
        {
            // try get channeluser by name
            IrcChannelUser usr = GetChannelUser(e.Source.Name);

            if (usr == null)
            {
                return;
            }

            // only allow ADMINS from config
            if (!Config.Admins.Contains(e.Source.Name))
            {
                // respond user he can't use this feature
                IrcClient.LocalUser.SendMessage(
                    e.Source.Name,
                    e.Source.Name + " you can't use the admin console - Only admins allowed.");
                return;
            }

            // Must be registered.
            if (!IsUserRegistered(e.Source.Name))
            {
                // respond user he can't use this feature
                IrcClient.LocalUser.SendMessage(
                    e.Source.Name,
                    e.Source.Name + " you can't use the admin console - nickname must be registered.");
                return;
            }

            // invalid
            if (e.Text == null || e.Text == String.Empty)
            {
                return;
            }

            Log("ADM", e.Source.Name + " used the command " + e.Text);

            // Bot admin command?
            if (e.Text.StartsWith("@"))
            {
                // Returns false if nothing handled the admin command.
                if (!IRCAdminBotCommand.ParseAdminCommand(e.Source.Name, e.Text, this))
                {
                    IrcClient.LocalUser.SendMessage(e.Source.Name,
                                                    "Couldn't find a handler for admin command " + e.Text);
                }

                return;
            }

            // get first space in text
            int firstspace = e.Text.IndexOf(' ');

            // either use first part up to first space or full text if no space
            string comtype =
                (firstspace > 0) ? e.Text.Substring(0, firstspace) : comtype = e.Text;

            // check if commandtype is allowed
            if (Config.AdminCommands.Contains(comtype))
            {
                // Record this admin as recent.
                if (!RecentAdmins.Contains(e.Source.Name))
                {
                    RecentAdmins.Add(e.Source.Name);
                }
                // enqueue it for execution
                AdminCommandQueue.Enqueue(e.Text);
            }
            else
            {
                // respond admin he can't use this admincommand
                IrcClient.LocalUser.SendMessage(
                    e.Source.Name,
                    e.Source.Name + " you can't use the admin command '" + comtype + "'");
            }
        }
Esempio n. 28
0
        private void IrcClient_Channel_MessageReceived(object sender, IrcMessageEventArgs e)
        {
            var channel = (IrcChannel)sender;

            if (e.Source is IrcUser)
            {
                // Read message and process if it is chat command.
                if (ReadChatCommand(channel.Client, e))
                    return;
            }

            OnChannelMessageReceived(channel, e);
        }
Esempio n. 29
0
 protected abstract void OnMatch(IrcMessageEventArgs ircMessage, string sender, string nick, string host, string filter, string message, string target);
Esempio n. 30
0
 private void channelNoticeReceived(object sender, IrcMessageEventArgs e)
 {
     this.Messages.Add(new Message(e.Text, DateTime.Now.ToString(this.Settings.TimestampFormat), "=!=", MessageLevels.Notice));
 }
Esempio n. 31
0
 private void welcomed( Object sender, IrcMessageEventArgs<WelcomeMessage> e )
 {
     General.client.SendJoin("#devatan");
     textBox1.Text += "Connecting to channel..." + Environment.NewLine;
     General.client.DefaultQuitMessage = "DevAtan IRC - DevAtan Official Chat Application";
 }
Esempio n. 32
0
 public abstract bool Handle(MessageType type, IrcMessageEventArgs args);
Esempio n. 33
0
 protected virtual void OnLocalUserMessageReceived(IrcLocalUser localUser, IrcMessageEventArgs e)
 {
 }
Esempio n. 34
0
 public abstract void Handle(MessageType type, IrcMessageEventArgs args, Action <bool> callback);
Esempio n. 35
0
 /// <summary>
 /// Called when our irc client receives a message.
 /// </summary>
 /// <param name="localUser">The local user.</param>
 /// <param name="e">
 /// The <see cref="IrcMessageEventArgs"/> instance containing the event data.
 /// </param>
 protected override void OnLocalUserMessageReceived(IrcLocalUser localUser, IrcMessageEventArgs e)
 {
     Log.Write(string.Format("We received message from {0}: {1}", e.Source.Name, e.Text),
               _logClassType, _logPrefix);
 }
        private void routeQuits( Object sender, IrcMessageEventArgs<QuitMessage> e )
        {
            Client source = sender as Client;
            if ( source == null )
            {
                return;
            }

            String nick = e.Message.Sender.Nick;
            if ( IsMe( nick, source ) )
            {
                foreach ( Channel c in this.Channels[source] )
                {
                    c.Open = false;
                }
            }
            else
            {
                foreach ( Channel channel in this.Channels[source] )
                {
                    channel.Users.RemoveFirst( nick );
                }
            }
        }
Esempio n. 37
0
 private static void ircClient2_LocalUser_MessageSent(object sender, IrcMessageEventArgs e)
 {
     if (client2LocalUserMessageSentEvent != null)
         client2LocalUserMessageSentEvent.Set();
 }
        private void routeTopics( Object sender, IrcMessageEventArgs<TopicReplyMessage> e )
        {
            Client source = sender as Client;
            if ( source == null )
            {
                return;
            }

            Channel channel = this.Channels[source].FindChannel( e.Message.Channel );
            if ( channel != null )
            {
                channel.Topic = e.Message.Topic;
            }
        }
Esempio n. 39
0
 private static void ircClient2_Channel_NoticeReceived(object sender, IrcMessageEventArgs e)
 {
     if (client2ChannelNoticeReceivedEvent != null)
         client2ChannelNoticeReceivedEvent.Set();
 }
        private void routeTopicSets( Object sender, IrcMessageEventArgs<TopicSetReplyMessage> e )
        {
            Client source = sender as Client;
            if ( source == null )
            {
                return;
            }

            Channel channel = this.Channels[source].FindChannel( e.Message.Channel );
            if ( channel != null )
            {
                User topicSetter = this.Users[source].EnsureUser( e.Message.User );
                channel.TopicSetter = topicSetter;
                channel.TopicSetTime = e.Message.TimeSet;
            }
        }
Esempio n. 41
0
 protected abstract void OnLocalUserNoticeReceived(IrcLocalUser localUser, IrcMessageEventArgs e);
        private void routeWhoReplies( Object sender, IrcMessageEventArgs<WhoReplyMessage> e )
        {
            Client source = sender as Client;
            if ( source == null )
            {
                return;
            }

            User whoUser = this.Users[source].EnsureUser( e.Message.User );
            String channelName = e.Message.Channel;

            Channel channel = this.Channels[source].FindChannel( channelName );
            if ( channel != null )
            {
                if ( !channel.Users.Contains( whoUser ) )
                {
                    channel.Users.Add( whoUser );
                }
                channel.SetStatusForUser( whoUser, e.Message.Status );
            }
        }
Esempio n. 43
0
        private void IrcClient_Channel_NoticeReceived(object sender, IrcMessageEventArgs e)
        {
            var channel = (IrcChannel)sender;

            OnChannelNoticeReceived(channel, e);
        }
Esempio n. 44
0
 private void Irc_ChannelMessageReceived(object sender, IrcMessageEventArgs e)
 {
     MessageReceived?.Invoke(sender, e);
 }
Esempio n. 45
0
        private void IrcClient_LocalUser_NoticeReceived(object sender, IrcMessageEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            OnLocalUserNoticeReceived(localUser, e);
        }
Esempio n. 46
0
        /// <summary>
        /// Invoked when a channel message was received
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void OnMessageReceived(object sender, IrcMessageEventArgs e)
        {
            // ignore messages without @prefix start or which are only @prefix + @ + space length
            if (e.Text == null || e.Text.IndexOf("@" + Config.ChatPrefix) != 0 || e.Text.Length <= Config.ChatPrefix.Length + 1 + 1)
            {
                return;
            }

            // try get channeluser by name
            IrcChannelUser usr = GetChannelUser(e.Source.Name);

            if (usr == null)
            {
                return;
            }

            // only allow operators
            if (!usr.Modes.Contains('o'))
            {
                // respond user he can't use this feature
                IrcClient.LocalUser.SendMessage(
                    IrcChannel,
                    e.Source.Name + " you can't use this feature. Only operators allowed.");

                return;
            }

            // now remove the @103 start
            string s = e.Text.Substring(Config.ChatPrefix.Length + 1 + 1);

            // used delimiter
            const char delimiter = ' ';

            // split up into words
            string[] words = s.Split(delimiter);

            if (words.Length > 0)
            {
                switch (words[0])
                {
                case ChatCommandBroadcast.KEY1:
                case ChatCommandBroadcast.KEY2:

                    // keep first word
                    s = String.Join(delimiter.ToString(), words, 0, 1);

                    // insert banner + name
                    s += delimiter + Config.Banner;
                    s += e.Source.Name + ": ~n";

                    // add rest
                    s += String.Join(delimiter.ToString(), words, 1, words.Length - 1);
                    break;

                case ChatCommandTell.KEY1:
                case ChatCommandTell.KEY2:

                    // keep first two word
                    s = String.Join(delimiter.ToString(), words, 0, 2);

                    // insert banner + name
                    s += delimiter + Config.Banner;
                    s += e.Source.Name + ": ~n";

                    // add rest
                    s += String.Join(delimiter.ToString(), words, 2, words.Length - 2);
                    break;
                }
            }

            // enqueue it for execution
            ChatCommandQueue.Enqueue(s);
        }
Esempio n. 47
0
        private static void IrcClient_LocalUser_NoticeReceived(object sender, IrcMessageEventArgs e)
        {
            var localUser = (IrcLocalUser)sender;

            Console.WriteLine("Notice: {0}.", e.Text);
        }
Esempio n. 48
0
 /// <summary>
 /// </summary>
 /// <param name="channel">
 /// </param>
 /// <param name="e">
 /// </param>
 protected override void OnChannelMessageReceived(IrcChannel channel, IrcMessageEventArgs e)
 {
     this.RelayedChannel.ChannelMessage(this.nickname + "-" + e.Source.Name, e.Text);
 }
Esempio n. 49
0
 protected abstract bool OnExecute(IrcMessageEventArgs ircMessage);
Esempio n. 50
0
 /// <summary>
 /// </summary>
 /// <param name="channel">
 /// </param>
 /// <param name="e">
 /// </param>
 protected override void OnChannelNoticeReceived(IrcChannel channel, IrcMessageEventArgs e)
 {
 }
Esempio n. 51
0
 protected abstract void OnChannelMessageReceived(IrcChannel channel, IrcMessageEventArgs e);
Esempio n. 52
0
 /// <summary>
 /// </summary>
 /// <param name="localUser">
 /// </param>
 /// <param name="e">
 /// </param>
 protected override void OnLocalUserNoticeReceived(IrcLocalUser localUser, IrcMessageEventArgs e)
 {
 }
Esempio n. 53
0
        private void IrcClient_Channel_NoticeReceived(object sender, IrcMessageEventArgs e)
        {
            var channel = (IrcChannel)sender;

            OnChannelNoticeReceived(channel, e);
        }
Esempio n. 54
0
 protected virtual void OnChannelNoticeReceived(IrcChannel channel, IrcMessageEventArgs e)
 {
 }
Esempio n. 55
0
        /// <summary>
        /// We receive messages asynchronously.  Here, we process the message to see if we should grab it.
        /// If so, we add the message to the queue and process it during the dispatcher timer tick.
        /// </summary>
        void m_client_MessageReceived(TwitchClient sender, IrcMessageEventArgs msg)
        {
            // Check if the user is on the ignore list.
            string user = msg.Source.Name;

            foreach (string ignore in m_options.UserIgnoreList)
            {
                if (user.Equals(ignore, StringComparison.InvariantCultureIgnoreCase))
                {
                    return;
                }
            }

            // check if the text is on the ignore list
            var text      = msg.Text;
            var lowerText = text.ToLower();

            // check if the text contains a highlight word
            foreach (string highlight in m_options.HighlightList)
            {
                if (lowerText.Contains(highlight.ToLower()))
                {
                    if (ShouldIgnore(lowerText))
                    {
                        return;
                    }

                    if (m_messageMap != null && CheckDuplicate(user, lowerText))
                    {
                        return;
                    }

                    ListItem item = ListItem.CreateFromHighlight(m_twitch.ChannelData, user, text);
                    if (m_messageMap != null)
                    {
                        m_messageMap[lowerText] = item;
                    }

                    m_eventQueue.Enqueue(new NewListItemEvent(item));
                    return;
                }
            }

            // check if the text contains a grab word
            foreach (string grab in m_options.GrabList)
            {
                if (lowerText.Contains(grab.ToLower()))
                {
                    if (ShouldIgnore(lowerText))
                    {
                        return;
                    }

                    if (m_messageMap != null && CheckDuplicate(user, lowerText))
                    {
                        return;
                    }

                    ListItem item = ListItem.CreateFromQuestion(m_twitch.ChannelData, user, text);
                    if (m_messageMap != null)
                    {
                        m_messageMap[lowerText] = item;
                    }

                    m_eventQueue.Enqueue(new NewListItemEvent(item));
                    return;
                }
            }
        }
Esempio n. 56
0
 protected virtual void OnLocalUserNoticeReceived(IrcLocalUser localUser, IrcMessageEventArgs e)
 {
 }
 private void Channel_MessageReceived(object sender, IrcMessageEventArgs e)
 {
     //TODO: Map this message for a format file
     RaiseMessageEvent(e.Source.Name, e.Text);
 }
Esempio n. 58
0
 private void chatting( Object sender, IrcMessageEventArgs<TextMessage> e )
 {
     if (e.Message.Text.StartsWith(this.textBox2.Text + ":"))
     {
         Console.Beep(1000,500);
     }
 }
Esempio n. 59
0
 private void LocalUser_MessageReceived(object sender, IrcMessageEventArgs e)
 {
     //ChannelTabCtb.LogChatLine(e.Source + "> " + e.Text);
 }
Esempio n. 60
0
 private void timeRequested( Object sender, IrcMessageEventArgs<TimeRequestMessage> e )
 {
     MetaBuilders.Irc.Messages.TimeReplyMessage reply = new MetaBuilders.Irc.Messages.TimeReplyMessage();
     reply.CurrentTime = DateTime.Now.ToLongTimeString();
     reply.Target = e.Message.Sender.Nick;
     General.client.Send( reply );
 }