読者です 読者をやめる 読者になる 読者になる

Still Life

残念IT系母ちゃん。旦那さん、娘1歳、猫の4人暮らし。

TwitterのBOTをつくるよ!

PC

Twitterで何かやってみたい!GAUと連携?オリジナルツール作り?と妄想は広がりに広がりますが、一歩を踏み出さないとはじまらない!というわけで、とりあえずでもハローワールド的なBOTを作成してみることにしました。


ステップ1:どういうBOTにするか考える
百人一首をつぶやくよ。一定時間でランダムにするか、@に反応するかとか、どうするのかは決めてないよ。


ステップ2:環境を整える
百人一首をPOSTするアカウントを作りました。→http://twitter.com/hyakuichi1001


言語決めました→PHP

PHPはもとより、Webアプリを自らの手で作成したことがないわたし(爆弾発言)ですが、「twitter bot 作り方」でぐぐって何個かクリックしていたたらたどり着いたページ(http://d.hatena.ne.jp/hirataka522/20080126/1201300282)がPHPだったので、PHPに暫定し
ます。


サーバ決めました→会社のWEBサーバを拝借

作ったスクリプトをどこに置いて動かすか、ですが、わたしの足元にあるFedora君はまだサーバには程遠いので、ひとまず会社のWEBサーバを勝手に使わせていただきます。


以下をtest.phpにして保存し、cgi-binフォルダにUPします。

<?php
    phpinfo();
?>

そしてURLを叩くと・・・
f:id:Aodrey:20091103022421j:image
キタコレ!使えるううぅ♪



ステップ3:スクリプトを書く
さっそくスクリプトを書いてみます。といっても書けないので・・・
http://www.scollabo.com/banban/php/index.html さきほどのページのスクリプトをコピペしてきて、ここを見ながら修正修正。
http://php.net/manual/ja/index.php ここを見るのはもっと後かな。


ひとまず作ったのが以下のスクリプトです。さきほどのtest.phpと同じようにファイルに保存して、cgi-binフォルダにUP。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<?php

function message($n){

switch($n) {
  case 1:
return ("秋の田のかりほの庵の苫をあらみ わが衣手は露にぬれつつ 天智天皇");

  case 2:
return ("春過ぎて夏来にけらし白妙の 衣干すてふ天の香具山 持統天皇");

・・・省略・・・

  case 100:
return ("百敷や古き軒端のしのぶにも なほ余りある昔なりけり 順徳院");

  default:
    return("不明");
  }
} 


$url = "http://twitter.com/statuses/update.xml?";
$username = XXXXXX;
$password = XXXXXX;
$params = "status=". rawurlencode(base64_encode(message(2)));

$result = file_get_contents($url.$params , false, stream_context_create(array(
	"http" => array(
		"method" => "POST",
		"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
	)
)));
?>


<html lang="ja">
<head>
<meta http-equiv="Content-Type" 
        content="text/html; charset=Shift_Jis">
<title>つぶやき百人一首</title>
</head>

<body>
<p>次の句を投書しました;<?php echo message(2); ?> </p>
</body>
</html>

URLを叩いてみると、2番目の「春過ぎて」が表示される・・・はず。


文字化けしてるよ、hahaha...というわけで、今日の挑戦はここまで。
また来週、思い出したらいじってみるよ!期待しないで待っててね!


百人一首の句そのものは、こちらのサイト様からコピーさせていただきました。綱手かなしも