pha 様の以下のページが超人気っぽいです。bot を作りたいと思ってる人って結構いるのかしら?
こちらで紹介されてる内容は、レンタルサーバで PHP 動かしてって感じで「bot とかよく分からんけどとりあえず試しに動かしてみたいような気がちょっとした感じ」ぐらいに思ってる人にはちょっと敷居が高そうだったので、グリモンで動く bot もどきを作ってみました。
bot もどきのもどきとは、グリモン(ブラウザ)を立ち上げてるときだけ動く bot という意味です。
ブラウザを立ち上げとかないと bot が動かないので作ってから完全に放置できる訳ではありませんが、サーバにインストールするタイプの bot よりもかなり簡単に動作させることができます。それ以外の部分では普通の bot と大きく変わりませんので、とりあえず bot してみたいという方にお薦めです。
ここに書いてあるやり方でどんな bot もどきが作れるのか
bot といってもいろいろあるわけですが、ここに用意したやり方で
- 用意した文章をランダムな順番で投稿する bot もどき (例:@takuboku みたいなの)
- 用意した文章を決まった順番で投稿する bot もどき (例:@hrdaya みたいなの)
- 誰かに@を貰うと用意した文章をランダムに返す bot もどき (例:@tarot3 みたいなの)
- 誰かの挨拶に用意した文章をランダムに返す bot もどき (例:…知らないw)
の4タイプの bot もどきが作れます。
必要な知識
プログラミングはできなくていいんだけど、以下の知識くらいはある方が望ましいです。
- Firefox を使ったことがある
- GreaseMonkey を使ったことがある
- エディタを使ってファイルを編集できる
大まかな流れとしては、さくらが作ったグリモンスクリプトをダウンロードしてもらって、そのファイルをエディタで少し編集してもらうという感じです。
用意するもの
まず以下のものを用意してください。
- Firefox (バージョン3以降推奨)
- GreaseMonkey (バージョン0.8以降推奨)
- bot もどきに使う Twitter のアカウント
大まかな流れ
- 下からファイルをダウンロードする
- エディタを使って、bot もどきに発言させたい内容を書き込む
- 編集したファイルを Firefox から読み込んで bot もどきをインストールする
- Twitter にアクセスする
詳しくは一つずつ説明していきます。
ダウンロード
ここをクリックしてファイルをダウンロードしてください。
ダウンロードが終わったら解凍してください。
ファイルの仕組み
解凍するとフォルダの中身は以下のようになっていると思います。
- post_random.user.js (用意した文章をランダムな順番で投稿させたいときに使う)
- post_rotation.user.js (用意した文章を決まった順番で投稿させたいときに使う)
- reply_random.user.js (@を貰うと用意した文章をランダムに返したいときに使う)
- hello_random.user.js (誰かの挨拶に用意した文章をランダムに返したいときに使う)
どのファイルを編集すればいいか
全てのファイルを編集する必要はなく、基本的には各ファイルを編集するだけでいいです。ちょっと上で4パターンの bot もどきの種類を説明しましたが
- 用意した文章をランダムな順番で投稿する bot もどき (例:@takuboku みたいなの)
- 用意した文章を決まった順番で投稿する bot もどき (例:@hrdaya みたいなの)
- 誰かに@を貰うと用意した文章をランダムに返す bot もどき (例:@tarot3 みたいなの)
- 誰かの挨拶に用意した文章をランダムに返す bot もどき (例:…知らないw)
どのタイプの bot もどきを作るかによって編集するファイルが違います。
用意した文章をランダムな順番で投稿する bot もどきの場合
post_random.user.js
を編集してください。
名言 bot のような bot もどきは大体このファイルを使えば作れます。
作れる bot の例: @meigenbot, @moomin_valley, @JOJO_Bot, @TakadaJunji, @DruckerBOT, @takuboku など
用意した文章を決まった順番で投稿する bot もどきの場合
post_rotation.user.js
を編集してください。
小説や詩などの文章を少しずつ順番に配信したいときなどに使うといいと思います。
作れる bot の例:@hrdaya, @gyokuon, @nenpyou_jp など
誰かに@を貰うと用意した文章をランダムに返す bot もどきの場合
reply_random.user.js
を編集してください。
作れる bot の例: @tarot3, @runedraw, @tentori_, @kitakata_kenzo など
誰かの挨拶に用意した文章をランダムに返す bot もどきの場合
hello_random.user.js
を編集してください。
作れる bot の例: だから知らないと(ry
プログラムも直すと @wakaranakatter っぽい動作をする bot もどきが作れるかもしれません。
post_random.user.js の編集の仕方
一番上の「設定」部分に、発言させたいメッセージ、メッセージのフッター、投稿する間隔を分で書き込んで保存してください。書き換える部分は青字で示しています。
投稿するメッセージにはダミーとして「いろは歌」が書き込んであります。
//====================================================================
// 設定
//====================================================================
// bot が投稿するメッセージ
var MESSAGES = [
'いろはにほへと ちりぬるを',
'わかよたれそ つねならむ',
'うゐのおくやま けふこえて',
'あさきゆめみし ゑひもせす',
'ん',
];
// フッター
// null か空文字列 ('') にすると表示されなくなります
var FOOTER = '[botもどき]';
// 投稿する間隔 (単位は分)
var TIMER_INTERVAL = 2;
MESSAGES が投稿されるメッセージです。各メッセージはシングルクォート (‘) またはダブルクォート (“) で括り、メッセージ間をカンマ (,) で区切ってください。メッセージ中にシングルクォートを使用する場合は \’ と \マークに続けて、\ マークを使用する場合は \\ と \ マークを重ねて入力してください。
MESSAGE_FOOTER は毎回メッセージに追加されるフッタです。
INTERVAL_MINUTES は投稿間隔です。ここに指定した分ごとにメッセージを投稿します。
post_rotation.user.js の編集の仕方
一番上の「設定」部分に、発言させたいメッセージ、メッセージのフッター、投稿する間隔を分で書き込んで保存してください。書き換える部分は青字で示しています。
投稿するメッセージにはダミーとして「いろは歌」が書き込んであります。
//====================================================================
// 設定
//====================================================================
// bot が投稿するメッセージ
var MESSAGES = [
'いろはにほへと ちりぬるを',
'わかよたれそ つねならむ',
'うゐのおくやま けふこえて',
'あさきゆめみし ゑひもせす',
'ん',
];
// フッター
// null か空文字列 ('') にすると表示されなくなります
var FOOTER = '[botもどき]';
// 投稿する間隔 (単位は分)
var TIMER_INTERVAL = 2;
MESSAGES が投稿されるメッセージです。各メッセージはシングルクォート (‘) またはダブルクォート (“) で括り、メッセージ間をカンマ (,) で区切ってください。メッセージ中にシングルクォートを使用する場合は \’ と \マークに続けて、\ マークを使用する場合は \\ と \ マークを重ねて入力してください。
MESSAGE_FOOTER は毎回メッセージに追加されるフッタです。
INTERVAL_MINUTES は投稿間隔です。ここに指定した分ごとにメッセージを投稿します。
投稿内容だけ変えたい場合は、MESSAGES のみ編集し、MESSAGE_FOOTER と INTERVAL_MINUTES はそのままにしておいてください。
reply_random.user.js の編集の仕方
一番上の「設定」部分に、発言させたいメッセージ、メッセージのフッター、投稿する間隔を分で書き込んで保存してください。書き換える部分は青字で示しています。
投稿するメッセージにはダミーとして「いろは歌」が書き込んであります。
//====================================================================
// 設定
//====================================================================
// bot が投稿するメッセージ
var MESSAGES = [
'いろはにほへと ちりぬるを',
'わかよたれそ つねならむ',
'うゐのおくやま けふこえて',
'あさきゆめみし ゑひもせす',
'ん',
];
// フッター
// null か空文字列 ('') にすると表示されなくなります
var FOOTER = '[botもどき]';
// 投稿する間隔 (単位は分)
var TIMER_INTERVAL = 1;
MESSAGES が投稿されるメッセージです。各メッセージはシングルクォート (‘) またはダブルクォート (“) で括り、メッセージ間をカンマ (,) で区切ってください。メッセージ中にシングルクォートを使用する場合は \’ と \マークに続けて、\ マークを使用する場合は \\ と \ マークを重ねて入力してください。
MESSAGE_FOOTER は毎回メッセージに追加されるフッタです。
INTERVAL_MINUTES は投稿間隔です。ここに指定した分ごとにメッセージを投稿します。
投稿内容だけ変えたい場合は、MESSAGES のみ編集し、MESSAGE_FOOTER と INTERVAL_MINUTES はそのままにしておいてください。
hello_random.user.js の編集の仕方
一番上の「設定」部分に、発言させたいメッセージ、メッセージのフッター、投稿する間隔を分で書き込んで保存してください。書き換える部分は青字で示しています。
投稿するメッセージにはダミーとして「いろは歌」が書き込んであります。
//====================================================================
// 設定
//====================================================================
// bot が投稿するメッセージ
var MESSAGES = [
'いろはにほへと ちりぬるを',
'わかよたれそ つねならむ',
'うゐのおくやま けふこえて',
'あさきゆめみし ゑひもせす',
'ん',
];
// フッター
// null か空文字列 ('') にすると表示されなくなります
var FOOTER = '[botもどき]';
// 投稿する間隔 (単位は分)
var TIMER_INTERVAL = 1;
MESSAGES が投稿されるメッセージです。各メッセージはシングルクォート (‘) またはダブルクォート (“) で括り、メッセージ間をカンマ (,) で区切ってください。メッセージ中にシングルクォートを使用する場合は \’ と \マークに続けて、\ マークを使用する場合は \\ と \ マークを重ねて入力してください。
MESSAGE_FOOTER は毎回メッセージに追加されるフッタです。
INTERVAL_MINUTES は投稿間隔です。ここに指定した分ごとにメッセージを投稿します。
投稿内容だけ変えたい場合は、MESSAGES のみ編集し、MESSAGE_FOOTER と INTERVAL_MINUTES はそのままにしておいてください。
グリモンをインストールする
グリモンをオンにした状態で編集したファイルを開くと、グリモンのインストールダイアログが開きます。インストールボタンをクリックしてください。
試しに bot もどきを動かしてみる
インストール後、http://twitter.com にアクセスし、bot もどきを動かしたい Twitter アカウントでログインしてください。
ログインした状態で http://twitter.com (または http://twitter.com/#*) を開くと bot もどきが動きます。bot もどきからの投稿を確認したいときはページをリロードしてください。
うまく動かないときは
上で説明した設定を行った際に誤って編集した可能性がありますので、Firefox のメニューから [ツール] → [エラーコンソール] を選択してエラーコンソールを開きエラーメッセージを確認してください。
また、エラーコンソールの「メッセージ」欄から bot もどきの実行ログを参照することもできます。これを眺めてると bot が動いてるのが実感できると思います。

おわりに
長い文章を読んでいただいてありがとうございます。できるだけ pha 様へのパクりリスペクト成分が醸し出されるよう書いたつもりなのですが、ちゃんと意図は果たせてるんだろうか。何か御意見などあったらブログのエントリにでもコメントを残していってくださいー。
このスクリプトで作れる bot もどきはとりあえずは上に挙げた4種類ですが、リクエストがあったらbotの機能の追加などするかもしれません。特に hello_random.user.js の挨拶の判定がいい加減なので直した方がいっかなーとか思ってます。ちなみに上記以外のプログラムの設定を変更するともうちょっと他の動作もするようになってます。もしもうちょっと自分好みに改造したい場合は、JavaScript を勉強すればここで配っているスクリプトに少し書き足すだけで改造できるので、プログラミングに興味がある人は JavaScript を勉強してみるのもいいかもしれません。
そもそもなんでこの文章を書こうかと思ったかというと、pha 様がはてブいっぱい貰ってたので便乗してやれーって思ったのがきっかけです。さくらも趣味で Twitter bot を何個か作ったのですが、完全な bot よりも半人半 bot みたいな方が面白いような気がしてる今日このごろです。
最近は bot をシェアしてくれるウェブサービスとかも出てきてますので、プログラミングにまったく興味無い方はそちらの方が良いかと思います。個人運営のところだと、いつまでサービスしてくれるのか分からないのがちと問題かもしれませんが。
おまけ:github の twitter-bot-modoki
スクリプトの中身をご覧になって見比べていただくと分かりますが、上の4種類のスクリプトは、オプションの設定方法が違うだけで全部同じものだったりします。元のソースを github に置いてますので、スクリプトを改造したい方はこちらをご利用いただいた方が良いかもしれません。
おまけ:Twitter bot ウェブサービス
Twitter bot を作ってくれるウェブサービスです。







[...] プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot もどきグリモンの作り方 « ゆっくり…して…イってネ! プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot … [...]
[...] Posted by admin on 9/22/09 • Categorized as これはすごい プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot … [...]
[...] プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot もどきグリモンの作り方 « ゆっくり…して…イってネ! (tags: twitter greasemonkey programming) [...]
[Twitter][Greasemonkey](個人的な)薬剤師勉強用のTwitter botもどきをつくった
botブームなので、自分も便乗して作りたいなーと思っていましたが、なんかちょっと面倒くさくて先送りしていました。 そんなところにナイスなエントリが。 プログラミングできなくて…
携帯でも
こんなのありますしね
http://www.news1st.jp/index.php?s=28&item=783