Hatena::ブログ(Diary)

EasyBotterでのbot作成法

2010-09-01 応用編

10.応用編(4):タイムラインの語句に反応させる

今回はbotの方からタイムラインの語句に反応し@を返す機能について説明します。

タイムライン反応に関する注意】

タイムライン反応はbotが能動的にリプライを行います。

フォロワーさんへこちらから働きかけるわけですので、相応の配慮というものが必要になると私は考えています。(頻繁に反応しすぎるとスパムbotになってしまうので…)

通常の@返信に比べて反応語句を減らす、反応率を鈍くするなどの工夫が必要になります。

少し不安かな?と思われる方はひとまずbotの管理に慣れてからこの機能を実装するといいかもしれません。


それでは設定方法をご説明します。

bot.phpを開いて、

//=============================

//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に取り入れています。

皆さんも慣れてきましたら色々工夫をしてみて下さい。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tan2men/20100901/1283275920
リンク元