【Twitter bot 開発】三毛猫botを作成

柴犬botのフォロワーが予想外に多く付いたので、心情的にいじりにくくなってしまったため、代わりに三毛猫botを作っていじる事にしました。

三毛猫bot:http://twitter.com/calico_cat_bot

 

このbotもGAEのcronで動いています。(30分15分間隔)

またもや例によってランダムに鳴いてるだけなんですが、状態と感情の乱数を与えてるので、柴犬botより幾分かまとも?な感じになっています。

@返信と状態と感情制御を上手い事すると若干猫らしくなりそうな気がします。

 

以下何の参考にもならないソース(PHP)

//Twitter認証
$url = "http://twitter.com/statuses/update.xml?";
$username = "ユーザー名";
$password = "パスワード";

//猫の状態設定 0:寝ている 1~4:起きている
$cat_state = rand(0, 4);

//感情状態_感情状態によって鳴き声が分岐する
//感情状態は「喜:0」「怒:1」「哀:2」「楽:3」でランダムに変化
$mood = rand(0, 3);

//感情表現符
$mood_effect[0] = "♪";
$mood_effect[1] = "!";
$mood_effect[2] = "・・・";
$mood_effect[3] = "";

//鳴き声_喜・哀・楽
$mes_kiairaku[0] = "ニャーン";
$mes_kiairaku[1] = "ニャッ";
$mes_kiairaku[2] = "ニャオーン";
$mes_kiairaku[3] = "ナオーン";
$mes_kiairaku[4] = "ゴロゴロ";
$mes_kiairaku[5] = "ニャン";

//鳴き声_怒
$mes_do[0] = "ウゥー";
$mes_do[1] = "ニャーン";
$mes_do[2] = "ニャーッ";
$mes_do[3] = "フーッ";
$mes_do[4] = "シャーッ";
$mes_do[5] = "ウゥウウーウー";




//$moodによって鳴き声が変化(起きている時)
if($cat_state >= 1 ){
	
	//$moodが喜:0の時
	if( $mood == 0 ){
		$voice = rand(0, 5); //鳴き声乱数
		$message .= $mes_kiairaku[$voice];
		$message .= $mood_effect[0];
	}
	
	//$moodが哀:2の時
	if( $mood == 2 ){
		$voice = rand(0, 5); //鳴き声乱数
		$message .= $mes_kiairaku[$voice];
		$message .= $mood_effect[2];
	}
	
	//$moodが楽:3の時
	if( $mood == 3 ){
		$voice = rand(0, 5); //鳴き声乱数
		$message .= $mes_kiairaku[$voice];
		$message .= $mood_effect[3];
	}
	
	//$moodが怒:1の時
	if( $mood == 1 ){
		$voice = rand(0, 5); //鳴き声乱数
		$message .= $mes_do[$voice];
		$message .= $mood_effect[1];
	}
}

//寝ているとき(cat_state == 0 )
if($cat_state == 0 ){
		$message = "Zzz...";
}

//rawurlencode() でエンコード
$params = "status=". rawurlencode($message);

//Twitterにポストする
$result = file_get_contents($url.$params , false, stream_context_create(array(
	"http" => array(
		"method" => "POST",
		"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
	)
)));
IT起業アカデミア