twitterでボットを作る方法をいろいろまとめてみたよ   3 comments

Posted at 3:36 pm in computer,internet,twitter

先週某所でtwitter bot作成について盛り上がった気がしたので
(酔ってたので自分だけかもしれませんが)ちょっとまとめてみます。

主にそのあたりで話していた人たち向けにポインタを示しているだけで、
特にオリジナルの目新しい内容があるわけではありませんのであしからず。

birds_2010-01-26_1

つぶやくよ

1. ボット生成サービスを使う

まずはサーバーとかphpとかいわれてもよくわからない人がボットを作るには

twitter ボットジェネレーター
http://twittbot.net/

というのがあるみたいです。

ウイザードに従うと自動的にボットが生成されるようです。
僕は使ったことがないのでよくわかりません。

__
2. 自分で設置する

次にphpが手元で動かせたり、サーバー借りててphpが動く人向けの簡単なボットです。

詳しくは本家

プログラミングができない人でも作れるTwitter Botの作り方
http://pha22.net/text/twitterbot.html

をご覧いただければと思いますが、ざっくり説明すると

・用意した文章からランダムに一行を取り出してtwitterに投稿する
・用意した文章を上から一行ずつ順番にtwitterに投稿する
・@でreplyをもらったときに、用意した文章からランダムに一行を取り出して返信する
・特定の単語を受け取った場合に特定の反応を返す

という4つの動作を行うスクリプトが用意されています。
設定も簡単でドキュメントも平易なので初心者の人でも簡単に設置できると思います。

ここからソースコードをダウンロードして、ドキュメントに従って設定(ユーザー名とパスワードをしゃべらせる言葉くらいですが)し、設置して、http://example.org/bot.phpみたいなURLを叩けばボットがしゃべってくれると思います。

また、

c:\hoge\php bot.php

みたいにコマンドラインからでも好きに更新できると思います。

定期的に動作させるためのCronについても
同じサイト(http://pha22.net/twitterbot/cron.php
内にいいまとめがありましたので、これをご覧いただけると幸せになれそうです。

ただし、このスクリプト、認証方式がBasic認証にしか対応してないようです。今後はOAuth認証しか使えなくなるので、このスクリプトは使えなくなってしまう可能性があります。バージョンアップに期待しましょう。

__
3.OAuthに対応したbotを設置する

ということで先を見越したOAuth認証するスクリプトですが、

http://wolf.silk.to/labo/oauth.html

を見れば何とかなります(丸投げ)。
ただしこの説明だけでは最新のスクリプトに対応してませんので、
最新が好きな僕みたいな人は

http://d.hatena.ne.jp/silverbot/20091219/1261180347

を見て修正する必要があります。これで好きにポストできるようになると思いますよ。

で、touroku.phpに手を入れればリプライしたりすることもできるのだと思いますが、未確認なので詳しくは知りません。

__
※RSSフィードをゲットする
最後にボットがつぶやくネタとして、RSSフィードを取ってくるというのがありますが、個人的にphpでフィードをゲットするのに使っているのはSimplePie(http://simplepie.org/)です。他の使い方を知らないだけですが。


include('./SimplePie/simplepie.inc');
$feed = new SimplePie();
$feed->set_feed_url("http://sl.impressrd.jp/rss.xml");
$feed->init();
(略)
$mes=$item->get_content();
$req = $to->OAuthRequest("https://twitter.com/statuses/update.xml","POST",array("status"=>$mes));

みたいな感じでフィードを簡単に引っ張ってポストすることができるんじゃないでしょうか(想像)。

__
なお、僕がやっている@neco_timeは3.のやり方を使ってtouroku.phpのソースをちょっと書き換えただけですよ。

Written by bogus on 2月 1st, 2010