前回は「BOTに対する返信/リプライの特定の単語に反応し、あらかじめ登録した台詞を返す」
方法を紹介しました。
【例】:「こんにちは」とリプライされたら例えば
「こんにちは、ご機嫌いかがですか?」と返す
今回は、「複数の単語にBOTを反応させる」方法をご紹介します。
【例】:「おはよう」に対する反応だけで無く、
「おはよう+ハグ」などの複数の単語を含むリプライに反応する
複数の語句をまとめる時には「()/半角丸かっこ」で括ります。
(おはよ|オハヨ|オハヨ|おっは|お早う).*(ハグ|ハグ),おはようございます、{name}さん。(ハグ返し)
{name}はフォロワさんのハンドルネームを表示させる時に使います。
特にTwitterID(英数ID)を表示させたい時には{id}で^^
これで登録しておけば、Twitter上では{name}の部分にリプライを飛ばす相手のお名前が入ります。
管理人のHNとIDを例に取ると {name}→せきしき {id}→psy_sekishiki ということですね。
「.*(半角ピリオドと半角アスタリスク)」は、上の例だと「おはよう」と「ハグ」との間に文字があっても、
また全く他の文字が入らなくても、「おはよう」の次に「ハグ」が来れば登録した反応を返します。
つまり
「おはようハグハグー」でも「おはようございます。本日はお日柄も良く……隙有り!ハグ!」
でも、同様に「おはようございます、{name}さん。(ハグ返し)」と返信すると言うことです。
これは結構便利なメタ文字で、
例えば「出撃します」「出撃する」「出撃をする」総てに反応させたい場合
出撃.*(する|します)とすれば、
「出撃」と「する/します」の間に「を」が入っても入らなくても受け付けてくれる訳です。
「.*」を入れないと「出撃します」「出撃する」以外の「出撃をする」が含まれている為、
(他に該当する登録反応語句がなければ)ランダム返信として返してしまいます。
なお上記のように「|()半角縦線」で区切る複数の言葉と組み合わせる場合、
「()(半角丸かっこ)」でくくらないと、うまく反応しないようです。
×出撃.*する|します
○出撃.*(する|します)
そうでない、一つの単語であれば「.*」をそのまま続けても大丈夫です。
ちょっとセクハラ単語なんですがw
(揉|も).*ま.*せ.*(ろ|て|れ)
だと、「揉ませろ」「揉ませれ」だけでなく、
「もーまーせーてー」などのリプライも拾って反応を返す事も出来ます。
使う機会は少なそうですけどね。(^q^)
あ、最後に一つ大事なことを。
登録された返信用の語句ですが、BOTちゃんに誰かからリプライが来た場合、
「登録された順番で、リプライの中に該当する語句が無いかチェックする」
ということです。
例えば、登録語句の順番が
(おはよ|オハヨ|オハヨ|おっは|お早う),おはようございます、{name}さん。良い天気ですね。
(おはよ|オハヨ|オハヨ|おっは|お早う).*(ハグ|ハグ),おはようございます、{name}さん。(ハグ返し)
となっている場合、フォロワ様が「おはよーハグハグ!」とリプライして下さっても
登録されている順番が普通の「おはよう」とそれに対する返信内容ですから、
返されるリアクションは普通の「おはよう」のものと同じ「おはようございます、{name}さん。良い天気ですね。」
になってしまいます。
ですので、「おはよう+ハグ」や「おはよう+ちゅー」などの複数語句を反応させたい時には
通常の「おはよう」よりも先に登録することをおすすめします。
複数行で一気に登録する場合、登録は上から順番にされていくので
優先的に反応させていきたい語句があれば、それを最初の方(メモ帳編集なら上の行)に
入力していくと良いですね。

で、twittbotさん上の「詳細設定」タグにあります
「返信設定/返信条件の比較順序」の項目を「登録順」にしておくのも重要です。
これを「ランダム」に設定しておくと、折角管理者様が優先させるべく登録順を変えても
「おはよう」と「おはよう+ハグ」「おはよう+ちゅー」などの
「『おはよう』を含む登録語句総て」の内からランダムにリアクションを返してしまう様ですので><
今回はここまで!!
続きはまた近いうちに~