2009/12/31

以上を組み合わせて、Twitter Botを作ってみた。

screenshot by wonderlanddalicejp.

なんとか年内にまとめあがったよ。
これまで延々と書いてきた事をまとめて、目標のTwitter Botを作ってみました。

まずは、動かすためのプラットフォーム作り。
botなので常時動いている方が良いので、サーバを。もちろんレンタルサーバとかでも良いのですが、Linuxサーバのお勉強もかねて今回はHaaSを提供しているRackspace Cloudを利用してみました。

Rackspace Cloud に申し込んでみた。

まさかの国際電話で本人確認されたのでびびったと言ったら無かったね;p
でも、質問内容はYes or Noで答えられる程度のこと(だったと)思うので、心配はそこまでしないとでも良いかと。

 

次は実際にLinuxサーバを起動してみるよ。
これもAmazon EC2を使ったことある人からしてみると驚くくらい簡単。

RackSpace Cloud のインスタンスを起動する

Linux系の選択肢は豊富ですが、使ったことがあるのはUbuntuだけなのでUbuntuで。

 

Twitter Botを作りたいのでとりあえずTwitterをスクリプトから操作出来るようにしないといけない。

Python から Twitter へ投稿する

なんでPythonかというと、自分はPythonくらいしか分からないから。Pythonだってろくに分かってないです;p
最近話題のRubyとかならPython以上に豊富に情報がそろっていると思います。

 

さて、PythonからTwitterへ投稿できるようになったので、次はBotらしい機能を作ってみようと。
Botらしいで悩んでみましたが、今回はとりあえず自分(@dalice)の投稿内容をカタカナに変換して投稿し直すbotにしようと言うことで、日本語形態素解析として話題沸騰中のMeCabさんを使ってみました。

Ubuntu Server に MeCab をインストールする

Python等の言語から簡単に扱うことの出来るのが特徴です。
iPhoneの日本語入力やMacのSpotlightなどで使われている実績のある処理系です。中の人の最近の作品はGoogle 日本語入力だそうです。

 

さて、ここまでPythonでスクリプトを作ってみましたが、Botなら定期実行してこそ。
そんなわけでLinuxなら標準で動いているCronの使い方を少しだけお勉強。

Ubuntu Server で cron を使う

ここまで来れば出来たも同然!

 

そうして、作ったのはこちらです。

dalice-yomi (dalice_yomi) on Twitter

Cronで指定した周期ごとにDaliceの発言を拾ってきて、MeCabを通してカタカナに。それをdalice_yomiというアカウントにポストするだけです。
何の価値もないbotですが、プログラミングとか、Linuxとかよく分かってない自分でも1週間かからずにここまで作れちゃいました!

次は世のため人のためになりそうなものを作ってみよう;-)