嫁さんと話していた時にふとTwitterのボットの話になり、簡単そうだったのでお試しでいろいろ作ってみました。はてブでボットの話題はちょくちょく目にしていたので、いちばん簡単そうだったid:phaさんのを参考にしました。
プログラミングができなくても作れるTwitter botの作り方
http://pha22.net/text/twitterbot.html
作ったもののリスト
芸能情報
三鷹関連
その他
# 内容が偏っているのは、多分嫁の趣味です。
本当に簡単だった
落としたスクリプトを見てみたら、下の3つを用意するだけでした。
- ボット用のID
- ボット用のパスワード
- 喋らせたいテキスト
cronは普段使い慣れていないだけに少々苦戦しましたが、何度か試すうちに動くようになりました。cronの設定がうまくいかない、または使える環境にない場合は、phaさんのサイトにあるようにRSSリーダーを使うのがいちばん楽そうです。
Firefox使いの場合は、ブラウザのホームページに複数URLを設定できるので、
http://example.com/bot1.php|http://example.com/bot2.php
とでもしておけば、半手動で動かせると思います(URLを半角の縦棒で区切る)。
ボットのしくみ
- なんらかの情報を読み込む
- 上から順に選んだり、ランダムに選ぶなどの処理をする
- bot用のアカウントに投稿する
と、シンプルなものでした。
Twitter APIにアクセスする部分などは触れなくてよい作りになっていたので、しゃべらせたいテキストを用意して、スクリプトを実行するだけでボットになりました。なんて簡単!
ランダムに喋るファイルと、リプライを返すファイルを2個とも実行すれば、@shuzo_matsuokaと同じものが作れました。(@shuzo_matsuokaは1時間に1回post_random.phpを、30分程度に一回replay_random.phpを実行…かな?)
定型のテキストだと飽きてしまうので
あらかじめ用意したテキストを読むだけだと飽きてしまうので、読み込ませる情報をRSSだったり、適当なHTMLだったり、メールにしてみました。やってることはただのスクレイピングです。
芸能情報
この3つはTVステーションのサイトから定期的にデータを取ってきているだけです。サイトにRSSがついていましたが、なぜか当日の情報しか載せていなかったので、テーブル部分を読んでいます。
これはナイナイANNサイトの上の方や中のほうに出てくる次週予告の部分を読んでいます。
三鷹関連
市民プールはカレンダーのテーブル、役所のページはRSS、犯罪連絡メールはメールサーバにそれぞれアクセスして投稿しています。
メールはPOPサーバにアクセスできるフリーメールを使おうと思い、GmailとHotmailを試しました。が、うまくアクセスできなかったので、今回はYahoo!のメールを使っています。
その他
とっくりとっくんはRSS、こんぱまるはRSSを出してそうで出していないので(ブログはNucleusなのに…!)スクレイピングです。
とっくりとっくんはRSSを出している3つのサイトをまとめただけですが、PHPを触るのが面倒だったので
Yahoo! Pipesでまとめる → Twitter Feedで配信
と、Webサービスのみで完結させました。楽ですねぇ。
ここで余談ですが、先日叔父から小型のとっくんをもらいました。先月は首相湯のみをもらったりと、いろいろお世話になってます。
ということで
PHPはしばらく触っていなかったのですが、いろいろ遊べて楽しかったです。以前参加した#pgcafeでもサッカー中継をpostするボットを作っていた方がいたり、シャアbotを作っている方がいたので、真似して作ってみたいですね。
僕のTwitterアカウントはこちらです。フォローリムーブお気軽にどうぞ~