コード例 #1
0
ファイル: BotExtensions.cs プロジェクト: jianmc/margiebot
        public static MargieSimpleResponseChainer RespondsTo <T>(this Bot <T> bot, string phrase, bool isRegex = false)
            where T : MargieBot.WebSockets.IMargieBotWebSocket
        {
            MargieSimpleResponseChainer chainer = new MargieSimpleResponseChainer();

            chainer.Responder = new SimpleResponder();

            if (isRegex)
            {
                chainer.Responder.CanRespondFunction = (ResponseContext context) =>
                {
                    return(Regex.IsMatch(context.Message.Text, phrase));
                };
            }
            else
            {
                chainer.Responder.CanRespondFunction = (ResponseContext context) =>
                {
                    return(Regex.IsMatch(context.Message.Text, @"\b" + Regex.Escape(phrase) + @"\b", RegexOptions.IgnoreCase));
                };
            }

            // add the simple responder to the bot
            bot.Responders.Add(chainer.Responder);

            return(chainer);
        }
コード例 #2
0
ファイル: BotExtensions.cs プロジェクト: coolya/margiebot
        public static MargieSimpleResponseChainer RespondsTo(this Bot bot, string phrase, bool isRegex = false)
        {
            MargieSimpleResponseChainer chainer = new MargieSimpleResponseChainer();
            chainer.Responder = new SimpleResponder();
            if (isRegex) {
                chainer.Responder.CanRespondFunction = (SlackMessage context) => {
                    return Regex.IsMatch(context.Message.Text, phrase);
                };
            }
            else {
                chainer.Responder.CanRespondFunction = (SlackMessage context) => {
                    return Regex.IsMatch(context.Message.Text, @"\b" + Regex.Escape(phrase) + @"\b", RegexOptions.IgnoreCase);
                };
            }
            bot.Responders.Add(chainer.Responder);

            return chainer;
        }
コード例 #3
0
        public static MargieSimpleResponseChainer RespondsTo(this Bot bot, string phrase, bool isRegex = false)
        {
            MargieSimpleResponseChainer chainer = new MargieSimpleResponseChainer();

            chainer.Responder = new SimpleResponder();
            if (isRegex)
            {
                chainer.Responder.CanRespondFunction = (ResponseContext context) => {
                    return(Regex.IsMatch(context.Message.Text, phrase));
                };
            }
            else
            {
                chainer.Responder.CanRespondFunction = (ResponseContext context) => {
                    return(Regex.IsMatch(context.Message.Text, @"\b" + Regex.Escape(phrase) + @"\b", RegexOptions.IgnoreCase));
                };
            }
            bot.Responders.Add(chainer.Responder);

            return(chainer);
        }