三毛猫botに懐き機能(自動フォロー)を追加
三毛猫botに自動フォロー機能をつけました。
たくさん話しかけてくれたユーザを自動的にフォローします。
SQLiteを導入したのが先週なので、それ以前に話しかけてくれた人はすんませんが、カウントされてません。
適当に作ってたのでファイル構成やらコードが汚くなってきた。
あとイレギュラー時の処理をまったく考慮してないし、SQLiteのバックアップとか最適化とか早めに考えておかないと。
以下参考ソース(PHP,tuitterフレームワーク,SQLiteを使用)
「isfollowing.php」
// Tuitterを読み込む
require_once 'tuitter.phpのパス';
//認証ユーザのインスタンス
$tuitter = new Tuitter($user_m, $passwd_m);
//SQliteへ接続
$link = sqlite_open('データベースのパス', 0666, $sqliteerror);
if (!$link) {
die('接続失敗'.$sqliteerror);
}
$sql = "SELECT フィールド名 FROM テーブル名";
$result = sqlite_query($link, $sql, SQLITE_BOTH, $sqliteerror);
if (!$result) {
die('クエリーが失敗。'.$sqliteerror);
}
//フィールドを取得
for ($i = 0 ; $i < sqlite_num_rows($result) ; $i++){
$rows = sqlite_fetch_array($result, SQLITE_ASSOC);
$rows_array[$i] = $rows['フィールド名'];
}
//$iを初期化
$i = 0;
//配列内の要素の出現頻度を取得
$data = array_count_values($rows_array);
arsort($data);
foreach($data as $key=>$value){
//n回以上話しかけたユーザーを判定用配列に保持
if($value >= n){
$follow_user[$i] = $key;
}
$i += 1;
}
//n回以上話しかけてくれたユーザの中からフォローしていないユーザをフォロー
for( $i = 0; $i < count($follow_user); $i++ ){
if(!$tuitter->isFollowing($follow_user[$i])){
$tuitter->follow($follow_user[$i]);
}
}
参考:
・配列内の出現頻度を調べる方法
http://as.blog16.jp/index.php/2007/11/21/p74
・SQLiteへの接続
http://www.phpbook.jp/tutorial/sqlite/index.html


Tweets that mention 三毛猫botに懐き機能(自動フォロー)を追加: 三毛猫botに自動フォロー機能をつけました。たくさん話しかけてくれたユーザを自動的にフォローします。SQLiteを導入したのが | 2010.03.28 14:18
[…] This post was mentioned on Twitter by gadget. gadget said: 三毛猫botに懐き機能(自動フォロー)を追加: 三毛猫botに自動フォロー機能をつけました。たくさん話しかけてくれたユーザを自動的にフォ […]