グループタグの活用

グループタグを活用する(正規表現の応用) Internet Explorer や Opera は使わないこと!



グループタグを使ってみる


Charactorbot 公式wiki 参照




キャラボットで使えるタグに、グループタグというものがあります

キャラボットで用意されているグループタグは、 #group_0#~#group_9# まであります。
グループタグは、キーワード登録欄ではなく、返信する内容(投稿内容)で使用します。

#group_0# は、文章全体を。#group_1#~#group_9# は、( )で囲まれたグループそれぞれを示します




正規表現に慣れないうちは、 あまり使わない方が無難です 


しかし、使えるようになれば便利なので、ここでは一番簡単な

 #group_1# 

の使い方を、正規表現テスターを使用した画像で書いてみます。



 よくボットで使われることの多い つ【あげるもの】 を、例にします 

seki08.jpg



【 】の間に.*を書き、どんな言葉にも一致するようにしましたが
これでみると、0: に、文章全体が一致した言葉として表示されています。
 


では次に

 【 】の間の.*を( )で囲んだ(.*)にします 

seki09.jpg



最初の画像と同じように、0:に文章全体が一致した言葉として表示されていますが
もうひとつ、 ( )で囲んだ部分の言葉が一致したものとして、1:に表示されています。

この1:で一致したものが #group_1# で指定出来る言葉ということです。
ちなみに、0:で一致したものが #group_0# で指定出来る言葉です。
 


キーワード登録してみると、こんな風に一致します。(使用チェッカーは正規表現アプレット

seki19.jpg


キーワード欄 .*つ【(.*)】.* 
返信内容 #group_1#!ありがとうございます!#group_1#大好きなんです!

と、設定したとします。 ※もしも使うのであれば、↑のキーワードはコピー&ペースト出来ますが
                余計なスペースが入らないように気を付けて下さい。

@付リプで、 つ【健康食品】 

というリプが来ました。

返事は、 健康食品!ありがとうございます!健康食品大好きなんです!

となります。


 グループタグを上手に使えば、相手の言うことをオウム返しすることも可能です 








ここから先は、参考までに載せておきます。



その他のグループタグ



  ( )を複数使用した場合、どれがどれに当たるか 

reg01.jpg

↑の場合

左から順に ① #group_1#  ② #group_2#  ③ #group_3# で、文章全体が #group_0# です。

reg03.jpg
reg04.jpg

#group_0#は、文章全体を指定するタグですので、( )を使用してない(グループ化してない)反応キーワードも含め
全ての反応キーワードの返信で使うことが出来ます。

気をつける点
@付リプを貰った場合、@Account 文章〜というように、文章の頭に必ずボットのアカウントが入っています。
#group_0#は、アカウント名も含んだ文章全体、本当に丸ごとを指定するタグですので
アカウント名は除外したいという場合には、#group_0#以外のタグを使用してみて下さい。




簡単な使用例



複数のグループタグを使う


キーワード登録に .*(お菓子|ご飯)が(食べたい|欲しい).*

投稿内容に #group_1#が#group_2#んですね?

と、記載した場合

TL上、又は、@付で お菓子が食べたいなぁ… というPostが来たら

ボットは お菓子が食べたいんですね? と返事します。



二択、三択、四択… 選択


キャラボットがランダム投稿なので出来る遊びのひとつだと思います。最大で九択まで出来ます。
これは、条件付けが必要不可欠になります。
まずは、使用例を載せてみます。

キーワード登録に .*(1:.*)(2:.*)

投稿内容に 

そうですねぇ #group_1#
ん〜、#group_2# でしょうか

と記入


使用例の実例↓

  gt101.jpg

このやり方の場合、気をつけなければならないこと(条件付け)は

1:( )は選択肢の数だけ
 二択なら、2つ .*(1:.*)(2:.*)
 三択なら、3つ .*(1:.*)(2:.*)(3:.*)
 四択なら、4つ .*(1:.*)(2:.*)(3:.*)(4:.*)

 この場合、キーワード登録で四択用が登録されているのに、ツイートの選択肢は2つ では、ボットは反応しません。


2:選択させるものの後に、余計な言葉は入れない
 .*(1:.*)(2:.*)というように、最後が.*で終わっているので
 最後に選択するものの後に言葉が入っていると、それも一緒に拾ってしまいます。

例→ 1:海 2:山 どっちがいい? と聞いたとき
   ボットが#group_2#を選択した場合、2:山 どっちがいい? まで答えてしまいます。

例→ 1:海 と、2:山 と聞いたとき
   ボットが#group_1#を選択した場合、1:海 と、 まで答えてしまいます。


選択肢以外の言葉を入れる場合には、それらも必ず一緒にキーワード登録して下さい。


これらは全部、作り込みも何もしていない本当に簡単な例ですので
ランダム選択の結果によっては変な返事になる可能性があります。
正規表現チェッカーやテスターを使用し、検証を繰り返して、作り込んでみて下さい。




相手のセリフを全てオウム返しする


キーワード登録に @自分のボットのアカウント(.*)

投稿内容に #group_1#

と、記載すると

@自分のボットのアカウント むかしむかしあるところに というリプが来たとき

ボットは むかしむかしあるところに と返事します。


上の使用例とは文章が違いますが、こんな感じです。
ボットが返信する時、相手のアカウント+オウム返しする文の合計文字数が
140文字を超えてしまうと投稿出来ません。
om01.jpg

ツイッタークライアントの画像も載せてみます。

om002.jpg


これは本当に簡単な例です。

  • 最終更新:2012-05-11 16:38:44

このWIKIを編集するにはパスワード入力が必要です

認証パスワード