10.応用編(4):タイムラインの語句に反応させる
今回はbotの方からタイムラインの語句に反応し@を返す機能について説明します。
【タイムライン反応に関する注意】
タイムライン反応はbotが能動的にリプライを行います。
フォロワーさんへこちらから働きかけるわけですので、相応の配慮というものが必要になると私は考えています。(頻繁に反応しすぎるとスパムbotになってしまうので…)
通常の@返信に比べて反応語句を減らす、反応率を鈍くするなどの工夫が必要になります。
少し不安かな?と思われる方はひとまずbotの管理に慣れてからこの機能を実装するといいかもしれません。
それでは設定方法をご説明します。
//=============================
//botの動作をここに書いてください
//先頭に//がある行はコメント扱いなので実行しません。実行したい行の頭の//を削除してください。
//=============================
//$response = $eb->autoFollow();
//$response = $eb->postRandom("data.txt");
//$response = $eb->postRotation("data.txt");
//$response = $eb->reply(5,"data.txt","reply_pattern.php");
//$response = $eb->replyTimeline(5,"reply_pattern.php");
一番下の行のreplyTimelineの文頭の//を削除して下さい。
今の設定ではタイムライン反応のパターンも@返信と同じくreply_pattern.phpを参照するようになっていますが、ここは@返信とは別にタイムライン反応専用のパターンファイルを作って、そちらを参照するようにしましょう。
(ファイル名はreply_pattern_tl.phpなど)
$response = $eb->replyTimeline(5,"reply_pattern_tl.php");
こんな感じで。
【タイムライン反応パターンの作る際のコツ】
1.@返信の時より反応する条件を厳しくする。
(例)「おはよう」に反応させる場合、
@返信…「おはよ」で反応
タイムライン反応…「おはよう」で反応
2.反応率を調整する
if(rand(0,1) === 0){
$response = $eb->replyTimeline(5,"reply_pattern_tl.php");
}
↑は実際のbotで走らせているタイムライン反応のスクリプトです。(bot.php)
bot,phpを実行したときに、2回に1回の確率でreply_pattern_tl.phpの内容を読みに行く=タイムライン反応率50%になっています。
bot.phpの下の方に書かれている実行パターンその中の例の一つ、『bot.phpを実行したときに、5回に1回ランダムに実行される』の応用です。
rand関数の中の値を変更。実行時に出力される値は0と1の2通りで0のときだけ反応するので反応率50%、という仕組みです。
以上2つは現在走行させているbotに取り入れています。
皆さんも慣れてきましたら色々工夫をしてみて下さい。