|
【■Twitter bot ジェネレーターで使える正規表現集■】 【概要】 正規表現、というかメタ文字をtwitter bot GENERATOR上でタグのように使う簡単な方法を紹介。 紹介する正規表現は数種類しかありませんが、これだけ使えればbotの返信文がだいぶ纏まると思います。 本格的にPHPをいじろうとしてる人には役に立たないです。 他にこういうページがないのでとりあえず作ってみたのですが、 自分もあまり詳しくはないので、意見がありましたらお願いします。 説明を読むのさえ面倒臭いという方にはこちら→■汎用コピペ用例文集■ 【■どれか一つの中から単語を拾わせたい場合の正規表現■】 | はorの意味のメタ文字です。 A|B|Cと並べると、AかBかCかどれかの文字列が出てきた時にbotが反応します。 ■例文1 おはよ|オハヨ|お早う,おはようございますね。 おはよう、おはよー、オハヨウ!お早うございます、などの単語を拾って botが「おはようございますね」と返します。 「おはー」「オハヨウ」など違う単語や半角に反応させたい時は おはよ|オハヨ|お早う|おはー|オハヨ という風に単語を追加してください。 文字列が含まれていればどんな文章にも反応するため 「かつおはよせえな」などという文章にも挨拶を返しますが、 しょっちゅう暴発するようなものでなければ、無視して構わないと思います。 【■どれか一つの中から単語を拾わせたい場合の正規表現その2■】 ( )は文字をグループにまとめます。 (A|B|C)(1|2)というように並べることも出来ます。 この場合掛け算の様に、 「A1」「A2」「B1」「B2」「C1」「C2」 という6種類の文字列に反応させることが出来ます。 ■例文2 (こんばん|コンバン|今晩)(は|わ|ハ|ワ),こんばんは、もう遅い時間ですね。 こんばんは、コンバンハ、今晩ハ、などの単語を拾って botが「こんばんは、もう遅い時間ですね。」と返します。 文字列の末尾が(は|わ|ハ|ワ)に限定されているので、 「今晩のおかず」「今晩どうする?」などの文字列にはひっかかりません。 ■例文3 (お菓子|おかし|飴|アメ)あげる,ありがとうございます、いただきますね。 お菓子あげる、アメあげる、などに反応してbotが返答します。 しかしこの書き方だと 「お菓子[を]あげるね」のように接続詞が入ったり 「お菓子あげよう」などと語尾が変わってしまうと、文字列を拾えません。 そこで次です。 【■Aから始まってBで終わる文字列を拾いたい時■】 A.*Bのように.*を単語の間に入れると .*の部分にどんな文字列が入っていても(A Bのように空白でも、ABのように間に文字が入らなくても) A Bの文字列が順番に存在すれば反応します。 ■例文4 風呂.*入,お背中流しましょうか?いえ、冗談ですけど。 これで「お風呂[に]入[ってくる]」「風呂入[るわー]」などの文字列を拾うようになります。 しかしこの書き方をした場合「お風呂にいくよ」「お風呂はいってくる」等の 漢字平仮名が混じる文章には対応できません。 ■例文5 風呂.*(入|行|はいる|はいろ|いく|って),ゆっくり温まってきてください。 こちらも「お風呂に行ってくる」「風呂入るわー」などの文字列を拾いますが、 例文1と違ってさらに「お風呂いくね」「風呂はいる」「お風呂場に行くにゃん」など、 漢字平仮名が混じった文章にも対応できます。 ■例文6 (風呂|おふろ|ふろ).*(入|行|はいる|はいろ|いく|って),はい、いってらっしゃい〜 こちらは更に発展させて、「ふろ入ってくる」「ふろってきます」など 大体考えられる限りの風呂に入るツイートに対応できます。 ※注意 風呂.*入|ふろってくる や、 風呂.*入|ふろ.*くる のような書き方は不具合が出る様子です。 .* と | を併用する時は、.* のグループを( )で閉じて、 (風呂.*入)|ふろってくる や、 (風呂.*入)|ふろ.*くる のようにしてください。 ※botの構文は「先に登録された条件を優先させる」そうです。 例えば 風呂,お風呂は健康にいいんですよ (風呂|おふろ|ふろ).*(入|行|はいる|はいろ|いく|って),ゆっくり温まってきてください。 と二つの構文を並べた場合に 「お風呂に入ってくる」という文字列に対して前者が先にキーワードを拾ってしまい、 「お風呂に入ってきます」に対して常に「お風呂は健康にいいんですよ」 という文章しか返って来ない可能性があります。 (風呂|おふろ|ふろ).*(入|行|はいる|はいろ|いく|って),ゆっくり温まってきてください。 風呂,お風呂は健康にいいんですよ という順に登録すれば、 前者の風呂+入る条件に合致しなかった文章だけ(「私はお風呂が好きです」など)を後者が拾います。 よって、優先させたい文字列・長めの文字列から先に並べて登録するといいと思います。 なお、構文が間違っていたり、長すぎたりすると botジェネレーターの返信機能・ランダム返信機能すべてが停止する事があります。 複雑なリツイートを更新した時は、リプライを送って動作をチェックしておくといいと思います。 【■botに言わせると便利な正規表現■】 ■{name} 話しかけられた相手の名前を呼ぶ アメあげる,ありがとうございます{name}さん、いただきます。 ■{id} 話しかけられた相手のid アメあげる,ありがとうございます{id}さん、いただきます。 ■@{id} 話しかけられた相手のidを@付きにしたい アメあげる,ありがとうございます@{id}さん、いただきます。 ■{year}{month}{day}{hour}{minute}{second} それぞれ現在の時刻です。 今何時?,はい、現在時刻は{year}年{month}月{day}日{hour}時{minute}分{second}秒です。間違ってたらごめんなさいね。 ■{tweet} 話しかけられた発言内容 これは、 (復唱|復誦)せよ,はい『{tweet}』! とキーワードを決めて復誦させるか、 『{tweet}』・・・ですか・・・? などの文をランダム返信のファイルに入れておく、 くらいしか活用法が考えられないんですが、何か有効活用出来る方法は無いものでしょうか? 【■ジェネレータで使えない正規表現■】 こちらの表現は使用できないようです。 (確実な検証をしているわけではないです) {follower_id} {follower_name} {following_id} {following_name} {timeline_id} {timeline_name} 【■汎用コピペ用例文集■】 ,の後の文章を自分のbotのリプライ文に適当に変えてください。 おはようなどの簡単な挨拶は、同時間帯に複数人から話し掛けられる事が多いので 同じリプライがずらっと並ばないように、返答パターンを複数登録しておくといいと思います。 また、一つのキーワードに肯定否定や好悪など数通りの反応を設定しておくと、 会話にバリエーションが出ていいと思います。(気まぐれなbotになりますが) こちらの構文はご自由にお使いくださって構いませんが、不具合が出ても自己責任でお願いします。 おはよ|オハヨ|お早う,はい{name}さん、おはようございますね。 おはよ|オハヨ|お早う,おはようございます{name}さん、いい朝ですね。 おはよ|オハヨ|お早う,おはようございます{name}さん、調子はどうですか? こんにちは|こんちは,こんにちは{name}さん、お元気そうですね。 (こんばん|コンバン|今晩)(は|わ|ハ|ワ),こんばんは、もう遅い時間ですね。 おやす|オヤス|お休み,もう遅い時間ですからね、おやすみなさい。 ねます|寝る|寝ます,もう遅い時間ですからね、おやすみなさい。 行ってきます|行ってくる|いってきます|いってくる,いってらっしゃい{name}さん、お帰りお待ちしています。 帰りました|帰った|ただいま,おかえりなさい{name}さん。お茶でもどうぞ。 ねむい|ねむー|眠,はい、{name}さん。そろそろおやすみの時間ですね。 お疲れ|おつかれ,心配していただいてありがとうございます。私は大丈夫です。 疲|つかれた|つかれました,お疲れですか?甘いものなどお食べになります? (腹|おなか|お腹).*(減|空|へっ|すい|すき),そろそろごはんにしないといけませんね。 (風呂|おふろ|ふろ).*(入|行|はいる|はいろ|いく|って),ゆっくり温まってきてください。 (風呂|おふろ|ふろ).*(入|行|はいる|はいろ|いく|って),お背中流しましょうか?いえ、冗談ですけど。 (格好|かっこ|カッコ|カッコ)(良|い|イ|よ|イ|ヨ),ありがとうございます、そんな風に言われると嬉しいです。 (可愛|かわ|カワ|カワ)(いい|いー|イイ|イー|ゆ|ユ|イ|ユ),ありがとうございます、少し照れますね。 ありがと|有り難う|有難う|さんきゅ|サンキュ,いえいえ礼にはおよびませんよ。 ごめん|ゴメン|ご免|御免|ゴメン,いえいえ大丈夫ですからお気になさらずに。 済みませ|すみま|すいま|すまん|すまぬ|スマン,いえいえ大丈夫です、お気になさらずに。 (申し|もうし).*(訳|わけ).*(有|あり|無|ない),すいません、なんだかこちらが申し訳無くて・・・。 (お菓子|おかし|飴|アメ).*(やる|あげる|くれてやる|あげよう),ありがとうございます{name}さん、いただきます。 (時間|時刻|何時).*(教|おしえ|知),はい、現在時刻は{year}年{month}月{day}日{hour}時{minute}分{second}秒です。間違ってたらごめんなさいね。 (今|いま).*(何時|なんじ),はい、現在時刻は{year}年{month}月{day}日{hour}時{minute}分{second}秒です。間違ってたらごめんなさいね。 (復唱|復誦).*(せよ|お願い|ねがい|してください),えっ・・・『{tweet}』?ですか? (復唱|復誦).*(せよ|お願い|ねがい|してください),はい、『{tweet}』!ですね! フォロー|FOLLOW|follow,フォロー関係はbotジェネレーターさんに任せております。何か不都合があったら、@***までDMをくださいね。 リムーブ|REMOVE|remove,フォロー関係はbotジェネレーターさんにお任せてしてます。何か不都合があったら、@***までDMをください。 爆発|ばくはつ(してく|しろ|しちゃえ),えっ プログラム・サーバー提供元 twitter bot GENERATOR 作ったbot あたらしきかみアポロンbot(@saga2_apollon) 管理者・連絡先 @inumaria |