- 2009年3月30日 22:52
- 話題
はじめに
Twitterでは,自動発言するbotの存在も無視できない。例えば,列車の運行情報botは役に立っており,私も実際にいくつかのbotをフォローしている。便利なbotはこちらのサイトでまとめられている。
Twitterのようなシンプルなインターフェイスで,botを含めたユーザの情報を時系列表示させる方法(Time Line)や,botによる自動的な情報の配信サービスとフォローによる受け取る情報を選択できることは,個々人が必要な情報を受けとることが可能なサービスを考える上で,参考になる。そこで,とにかく実際にbotを作ってみることにした。
作ったbot
tagchan_bot
http://twitter.com/tagchan_bot
このbotは,位置情報SNSであるBrightkiteにおける私の位置情報を定期的に配信する。そのために,私の位置情報を配信しているフィード(XML)を取得している。それをTwitterにポストしている。なお,サーバーはさくらインターネットを使っており1時間ごとに定期的に実行するcronを利用している。以下がphpのソースコードである。
// 文字コード関連。http://www.spencernetwork.org/jcode/を参照のこと。
require_once 'code_table.ucs2jis';
require_once 'jcode.php';
$now_date = time();
$now_time = date("Y/m/d(D)H:i",$now_date);
// Brightkiteのフィードを取得
$burl = "http://brightkite.com/people/tagchan.xml";
$rss = file_get_contents($burl);
$xml_p=xml_parser_create('UTF-8');
xml_parse_into_struct($xml_p,$rss,$r_vals,$index);
xml_parser_free($xml_p);
for ($i=0;$i<90;$i++){
if($r_vals[$i]['tag'] == "LONGITUDE"){
$lon = $r_vals[$i]['value'];}
if($r_vals[$i]['tag'] == "LATITUDE"){
$lat = $r_vals[$i]['value'];}
if($r_vals[$i]['tag'] == "NAME"){
$location = $r_vals[$i]['value'];}
}
$url = "http://twitter.com/statuses/update.xml?";
// Twitter ID & Password
$username = "id";
$password = "password";
$mes = "$now_time 現在,Tagchanは $location (緯度$lat, 経度$lon)にいます。";
$params = "status=". rawurlencode($mes);
$result = file_get_contents($url.$params , false, stream_context_create(array(
"http" => array(
"method" => "POST",
"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
)
)));
?>
いくつかのサイトを参考にしつつ作成したが,かなり簡単に作成できてしまった。
今後の展開
今回はbotの作成を行って発信のみに注目したが,情報を集めるという側面でもTwitterは使える可能性があると考えている。Twitterでは,「@ユーザ名」を含めてポスト(投稿)することで,そのユーザに向けてポストした文章を送ることができる(リプライ機能)。このアプローチを使うことで,情報を収集する手段として使えそうな場面がありそうだと考えている。
例えば,gyuque氏の開発したサービスである「ねる。」は,「@twneru ねる」とか「@twneru おきた」とポストすることで,睡眠時間を記録してくれるサービスである。Twitterのリプライ機能を使って情報を収集する枠組みとなっている。
Twitterのようなインターフェイスおよび枠組みを使うことで,「情報収集→加工→bot等で配信」を行うことが可能なシンプルなサービスが作り出せるのではないかと考えている。
- Newer: 【報告】2009年度からの所属について
- Older: 【研究紹介】既存の航空写真を使って過去からの森林の成長を再現