三毛猫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に自動フォロー機能をつけました。たくさん話しかけてくれたユーザを自動的にフォ […]