Ejemplo n.º 1
0
 public void UrlHandler(IIrcMsg e)
 {
     // Only process messages that aren't a trigger call or a query message.
     if (e.Trigger == null && e.Channel != null)
     {
         manager.EnqueueMessage(e.Channel, e.Nick, e.Message);
     }
 }
Ejemplo n.º 2
0
        public static string[] GetArgs(this IIrcMsg msg, int count, out List <string> rest)
        {
            if (msg == null)
            {
                throw new ArgumentNullException(nameof(msg));
            }

            return(GetArgs(SkipTrigger(msg), count, out rest));
        }
Ejemplo n.º 3
0
        public static bool StartsWithTriggerPrefix(this IIrcMsg msg)
        {
            if (msg == null)
            {
                throw new ArgumentNullException(nameof(msg));
            }

            return(StartsWithTriggerPrefix(msg.Message));
        }
Ejemplo n.º 4
0
        public static IEnumerable <string> GetArg(this IIrcMsg msg,
                                                  out string argument,
                                                  bool toLower = false)
        {
            if (msg == null)
            {
                throw new ArgumentNullException(nameof(msg));
            }

            return(GetArg(SkipTrigger(msg), out argument, toLower));
        }
Ejemplo n.º 5
0
 internal static IEnumerable <string> SkipTrigger(IIrcMsg msg)
 {
     if (string.IsNullOrEmpty(msg.Trigger))
     {
         return(msg.MessageParts);
     }
     else
     {
         return(msg.MessageParts.Skip(1));
     }
 }
Ejemplo n.º 6
0
        public ArgEnumerator(IIrcMsg msg)
        {
            if (msg == null)
            {
                throw new ArgumentNullException(nameof(msg));
            }

            argNumerator =
                ParseArgs.SkipTrigger(msg)
                .GetEnumerator();
        }
Ejemplo n.º 7
0
        // --- LINQy extension methods for getting arguments ---

        // Well, these two are not very LINQy, but sometimes you only care about the arg.
        public static string GetArg(this IIrcMsg msg)
        {
            GetArg(msg, out string arg);
            return(arg);
        }
Ejemplo n.º 8
0
        // --- Conventional (not LINQ) extensions methods for getting arguments ---
        // These use ArgEnumerator as backend.

        public static string GetArg(this IIrcMsg msg, out List <string> rest)
        {
            var tmp = GetArgs(msg, 1, out rest);

            return(tmp[0]);
        }