三毛猫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

 

コメント1件

IT起業アカデミア