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(); ?>
ステップ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...というわけで、今日の挑戦はここまで。
また来週、思い出したらいじってみるよ!期待しないで待っててね!