したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Botの改造方法を紹介するスレ

1 pha :2009/12/03(木) 20:47:24
各所に細かい改造方法をかいてくれている人がいるので、そういうURLを集めたいです。
phaのスクリプトに関するものじゃなくてもいいです。どんなものでも参考になるので。

5 うら :2010/01/15(金) 15:43:14
連続投稿回避関数つくった

// $messageを、投稿ログの各行と比較。違う文を選ぶまでループ。違う文を返します。
// 空のファイルtwit_log.txtをサーバにアップロードし、パーミッションを666に設定してください。
function rento_check(){
 $rento_limit = 10;  // n個前まで投稿を記録し、二重投稿を回避する
 //以前の投稿ログを読み込み
 $Posttweets = file_get_contents('twit_log.txt');  // 読み込み
 $p_tw = explode("\n", $Posttweets);  // 配列に格納
 //発言リストを読み込む
 $tweets = file_get_contents('RandomPost.txt');  //ランダム発言ファイル
 $tweets = trim($tweets);
 $tweets = preg_replace("@\n+@","\n",$tweets);
 $tw = explode("\n", $tweets);
 $message = $tw[array_rand($tw)];  //発言をランダムに一つ選ぶ
 
 while(true) {
   if(in_array($message, $p_tw)){  //発言にあるか?無ければ抜ける
     $message = $tw[array_rand($tw)];  //発言をランダムに一つ選ぶ
   }
   else { break; }  //無ければ抜ける
 }
 //投稿ログをローテート
 $p_tw2[0] = $message;
 for( $i = 1; $i < $rento_limit; $i++ ){  //1から$rento_limit直前まで
   if($p_tw[$i-1]) {
     $p_tw2[$i] = $p_tw[$i-1];  //古いのを送る。例:$p_tw2[1] = $p_tw[0]
   } else { break; }  //投稿が少ない時は抜ける
 }
 $p_tw_output = join("\n",$p_tw2);  //配列結合
 $fp = fopen('twit_log.txt', 'w');  //ファイルオープン
 flock($fp, LOCK_EX);  // ファイルのロック(排他制御)
 fwrite($fp,$p_tw_output);  //ファイル書き込み
 fclose($fp);  //ファイルクローズ
 
 return $message;  //違う文を戻り値として返す
}

6 うら :2010/01/15(金) 15:55:17
>>5を post_random.phpの <? と ?> の間の適当なところに放り込め。最後がいい?
全角空白入ってるから、コピペ注意。
あとは47行目〜54行目の

//発言リストを読み込む
//$tweets = file_get_contents($file);
//$tweets = trim($tweets);
//$tweets = preg_replace("@\n+@","\n",$tweets);
//$tw = explode("\n", $tweets);
//発言をランダムに一つ選ぶ
//$message = $tw[array_rand($tw)];

のようにコメント化して、

$message = rento_check();  //以前と重ならない発言を選ぶ

を直後に入れろ。ファイル名注意な。
うらはphpのプロじゃないので、もっと良いやり方があると思う。
コメント入れたから、各自考えろ。うらのサーバでは動いた。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

■ したらば のおすすめアイテム ■

キングダム 46 (ヤングジャンプコミックス) - 原 泰久

「秦」が中国統一を目指す物語

この欄のアイテムは掲示板管理メニューから自由に変更可能です。


掲示板管理者へ連絡 無料レンタル掲示板 powered by Seesaa