リハビリ大作戦と題して簡単なTwitterbotを作ろうの巻


きっかけ

今日も元気にジョーくんと自宅警備に勤しんでいるpinkmac…だったのですが、
秋の到来とともに来年4月の復職が近づいてきました。
上長からも連絡いただいたりしております。きゃほう。

そろそろ、手を動かすリハビリをしないとな!という気分になり
唐突ですが、手慣らしにPHPでTwitterbotをいくつか作ってみることにしました。

で、何を作ったかというと

第一弾は、「大阪の天気」botです。
Livedoor提供の「Weather Hacks」APIで、天気予報データを取得し、Twitterにpostするだけの簡単なお仕事です。
で、それを一日2回cronで回しているだけです。作成所要時間、20分くらい…かな?

へなちょこですがコードを晒してみる

こんな感じです。

PHP:
  1. <?php
  2. //大阪の天気を配信するbot weather_osaka
  3. //2009/09/10 pinkmac created.
  4.  
  5. //1.まずは投稿内容(message)を作成する。
  6.  
  7. //1-1 livedoor weater hackより今日の大阪の天気を取得
  8. $xml = simplexml_load_file("http://weather.livedoor.com/forecast/webservice/rest/v1?city=81&day=today");
  9. $forecastdate = $xml->forecastdate;
  10. $weather = $xml->telop;
  11. $description = $xml->description;
  12. //$maxtemp =$xml->temperature->max->celcius;
  13. //$mintemp =$xml->temperature->min->celcius;
  14.  
  15. //1-2 dateを加工
  16. //ファイルを置いたdreamhostは海外鯖なのでタイムゾーンの設定が必要
  17. date_default_timezone_set('Asia/Tokyo');
  18. $date = date("m/d H:i", strtotime($forecastdate));
  19.  
  20. //1-3 description文を加工
  21. $str = strpos($description, "...", 0);
  22. $description = substr($description,0,$str);
  23.  
  24. $message = $date."現在の大阪の天気は【".$weather."】です。".$description;
  25.  
  26.  
  27. //2.ここから投稿動作
  28. //code from http://d.hatena.ne.jp/hirataka522/20080126/1201300282 thanks!!
  29.  
  30. //2-1 Twitter更新用情報を設定
  31. $url = "http://twitter.com/statuses/update.xml?";
  32. $username = username;
  33. $password = password;
  34.  
  35. //2-2 投稿する
  36. //投稿するメッセージは rawurlencode() でエンコードする。メッセージにスペース(空白)があると、そこで切れてしまうから。
  37. $params = "status=". rawurlencode($message);
  38. $result = file_get_contents($url.$params , false, stream_context_create(array(
  39.     "http" => array(
  40.         "method" => "POST",
  41.         "header" => "Authorization: Basic ". base64_encode($username. ":". $password)
  42.     )
  43. )));
  44. ?>

実行結果はこんな感じです。
大阪の天気

次はこんなのを作ろうと思います(予定は未定)

  • ハマーン・カーン様bot
    「恥を知れ」とか「俗物」とか「プレッシャー」とか「強い子」とかに反応する21歳ツンデレ女子。ハマーン様、萌え…!
  • レバ刺し・ホルモンbot
  • 野望bot
  • 授乳なうbot

今回は外から取ってきたソースをひとりでぶつぶつつぶやくだけの超簡単botだったので、育てていくのも楽しそうですね。replyに対応したり、自分で発言を拾いに行ったりとか。

多大に参考にさせていただきました


参考になるかもしれない商品


h1

Trackback URL

One comment to “リハビリ大作戦と題して簡単なTwitterbotを作ろうの巻”

  1. [...] リハビリ大作戦と題して簡単なTwitterbotを作ろうの巻 | PINKMAC – Love Train + Photo + IT Tech. リハビリ大作戦と題して簡単なTwitterbotを作ろうの巻 | PINKMAC – Love Train + Photo + IT Tech. [...]


Leave a Comment





popular entry


Categories


Archives

Search



あわせて読みたいブログパーツ フィードメーター - PINKMAC
  • SEO
  • loading
  • PINKMAC -Love Train + Photo + IT Tech