【■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