さんまがおいしい季節だねー(´・ω・`)

プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot もどきグリモンの作り方

github,JavaScript,Twitter — タグ: , , — さくら @ 2009/09/21 22:15

pha 様の以下のページが超人気っぽいです。bot を作りたいと思ってる人って結構いるのかしら?

プログラミングができなくても作れるTwitter botの作り方

こちらで紹介されてる内容は、レンタルサーバで PHP 動かしてって感じで「bot とかよく分からんけどとりあえず試しに動かしてみたいような気がちょっとした感じ」ぐらいに思ってる人にはちょっと敷居が高そうだったので、グリモンで動く bot もどきを作ってみました。

bot もどきのもどきとは、グリモン(ブラウザ)を立ち上げてるときだけ動く bot という意味です。

ブラウザを立ち上げとかないと bot が動かないので作ってから完全に放置できる訳ではありませんが、サーバにインストールするタイプの bot よりもかなり簡単に動作させることができます。それ以外の部分では普通の bot と大きく変わりませんので、とりあえず bot してみたいという方にお薦めです。

ここに書いてあるやり方でどんな bot もどきが作れるのか

bot といってもいろいろあるわけですが、ここに用意したやり方で

  1. 用意した文章をランダムな順番で投稿する bot もどき (例:@takuboku みたいなの)
  2. 用意した文章を決まった順番で投稿する bot もどき (例:@hrdaya みたいなの)
  3. 誰かに@を貰うと用意した文章をランダムに返す bot もどき (例:@tarot3 みたいなの)
  4. 誰かの挨拶に用意した文章をランダムに返す bot もどき (例:…知らないw)

の4タイプの bot もどきが作れます。

必要な知識

プログラミングはできなくていいんだけど、以下の知識くらいはある方が望ましいです。

  1. Firefox を使ったことがある
  2. GreaseMonkey を使ったことがある
  3. エディタを使ってファイルを編集できる

大まかな流れとしては、さくらが作ったグリモンスクリプトをダウンロードしてもらって、そのファイルをエディタで少し編集してもらうという感じです。

用意するもの

まず以下のものを用意してください。

  1. Firefox (バージョン3以降推奨)
  2. GreaseMonkey (バージョン0.8以降推奨)
  3. bot もどきに使う Twitter のアカウント

大まかな流れ

  1. 下からファイルをダウンロードする
  2. エディタを使って、bot もどきに発言させたい内容を書き込む
  3. 編集したファイルを Firefox から読み込んで bot もどきをインストールする
  4. Twitter にアクセスする

詳しくは一つずつ説明していきます。

ダウンロード

ここをクリックしてファイルをダウンロードしてください。
ダウンロードが終わったら解凍してください。

ファイルの仕組み

解凍するとフォルダの中身は以下のようになっていると思います。

  • post_random.user.js (用意した文章をランダムな順番で投稿させたいときに使う)
  • post_rotation.user.js (用意した文章を決まった順番で投稿させたいときに使う)
  • reply_random.user.js (@を貰うと用意した文章をランダムに返したいときに使う)
  • hello_random.user.js (誰かの挨拶に用意した文章をランダムに返したいときに使う)

どのファイルを編集すればいいか

全てのファイルを編集する必要はなく、基本的には各ファイルを編集するだけでいいです。ちょっと上で4パターンの bot もどきの種類を説明しましたが

  1. 用意した文章をランダムな順番で投稿する bot もどき (例:@takuboku みたいなの)
  2. 用意した文章を決まった順番で投稿する bot もどき (例:@hrdaya みたいなの)
  3. 誰かに@を貰うと用意した文章をランダムに返す bot もどき (例:@tarot3 みたいなの)
  4. 誰かの挨拶に用意した文章をランダムに返す 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 に置いてますので、スクリプトを改造したい方はこちらをご利用いただいた方が良いかもしれません。

sakuratan’s twitter-bot-modoki at master – GitHub

おまけ:Twitter bot ウェブサービス

Twitter bot を作ってくれるウェブサービスです。

25件のコメント »

  1. [...] プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot もどきグリモンの作り方 « ゆっくり…して…イってネ! プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot … [...]

  2. [...] Posted by admin on 9/22/09 • Categorized as これはすごい プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot … [...]

  3. [...] プログラミングできなくてもレンタルサーバ借りなくても作れる Twitter bot もどきグリモンの作り方 « ゆっくり…して…イってネ! (tags: twitter greasemonkey programming) [...]

    ピンバック by links for 2009-09-22 « 個人的な雑記 — 2009 年 9 月 23 日 @ 07:04
  4. [Twitter][Greasemonkey](個人的な)薬剤師勉強用のTwitter botもどきをつくった

    botブームなので、自分も便乗して作りたいなーと思っていましたが、なんかちょっと面倒くさくて先送りしていました。 そんなところにナイスなエントリが。 プログラミングできなくて…

    トラックバック by ループスライダー — 2009 年 9 月 23 日 @ 23:40
  5. 携帯でも
    こんなのありますしね
    http://www.news1st.jp/index.php?s=28&item=783

    コメント by emason — 2009 年 10 月 14 日 @ 13:24
  6. はじめまして
    ダウンロードしたファイルなのですが、メッセージを自分で編集してしまうと何か誤って消してしまうかもしれない、と思いとりあえずそのまま何も触らずにいろは歌のまま実行してみたのですがエラーが出てしまいました。

    行:18 文字:28
    エラー終了していない文字列型の定数です。
    コード 80A03F7
    と表示されてしまいます。

    テキストで開いてみても素人目にはおかしなところは見当たらないのですが、原因がわかりそうでしたらアドバイス頂けると幸いです。1年以上前のエントリに申し訳ありません。
    レンタルサーバを借りたり、といった他の方法だと敷居が高く諦めてしまったのですが、こちらのエントリを見て再度トライしたいと思っています。

    コメント by カナ — 2011 年 1 月 8 日 @ 13:12
  7. スミマセン、上のコメントのことは忘れてください…(削除できませんでした。)

    メッセージをいろは歌から変更しないままfirefoxで読み込みしインストール、ツイッターにアクセスしてみましたが2分ごとのつぶやきは実行されず、エラーを確認してみたところ、このようなエラーがずらっと表示されてきました。
    http://nagamochi.info/src/up50145.jpg
    http://nagamochi.info/src/up50137.jpg

    どこかを修正してからインストールするのでしょうか?
    エラー部分を修正、といっても膨大な量なので何か他におかしなところがあれば教えて頂けるとうれしいです。
    よろしくお願いします。

    コメント by カナ — 2011 年 1 月 8 日 @ 16:51
  8. いろは歌の分は特に直さなくても動きますお。

    botが動き出すと、
    http://sakuratan.biz/Twitter bot modoki post rotation: start SERIAL=0
    みたいなメッセージが必ずログに出ますので、これが表示されてるかまずご確認ください。
    (細かいメッセージ違うかもしれませんが、SERIAL=数字が付いてるメッセージです)

    GreaseMonkeyでJPEGファイルとかは見に行ってませんので、.jpgのエラーは別タブで開いてる他のページのエラーだと思います。

    コメント by さくら — 2011 年 1 月 8 日 @ 22:47
  9. お返事ありがとうございました。

    根本から間違えてるかもしれないので書いてみますが、
    ・こちらのサイトからダウンロードしたファイル(自分の場合はpost_random.user)をローカルに置く
    ・それをfirefoxのファイル→ファイルを開くで開く
    ・インストール
    ・http://twitter.com/を開く
    でよいのでしょうか

    http://sakuratan.biz/Twitter bot modoki post rotation: start SERIAL=0
    というメッセージではなく、近いものだと

    http://sakuratan.biz/Twitter bot modoki post random: main: none,post
    http://sakuratan.biz/Twitter bot modoki post random: main: No authenticity_token

    というメッセージが表示されていました。

    エラーの原因がわかると嬉しいです。

    今エラーコンソールを立ち上げたままこの文章をうっていますが、うってる最中にもエラーが増えており、何かページを開くとエラーメッセージが出るようです。
    jpegがどうこうというメッセージも、twitterのページにある背景を見に行っているのでしょうか…?

    コメント by カナ — 2011 年 1 月 9 日 @ 01:53
  10. カナ さんと全く同じ状況です。

    コメント by BK — 2011 年 2 月 9 日 @ 01:03
  11. http://sakuratan.biz/Twitter bot modoki post rotation: main: loop,none,post
    http://sakuratan.biz/Twitter bot modoki post rotation: main: No authenticity_token

    コメント by BK — 2011 年 2 月 9 日 @ 01:05
  12. それと
    警告: 不明なプロパティ ‘zoom’ が使用されています。 このスタイル宣言は無視されました。
    ソースファイル: http://a2.twimg.com/a/1297125922/phoenix/css/phoenix.bundle.css
    行: 1
    以下a2.twing.comとtwitter.comで120個位警告が流れます。

    コメント by BK — 2011 年 2 月 9 日 @ 01:26
  13. >ダウンロードしたファイルなのですが、メッセージを自分で編集してしまうと何か誤って消してしまうかもしれない、と思いとりあえずそのまま何も触らずにいろは歌のまま実行してみたのですがエラーが出てしまいました。

    行:18 文字:28
    エラー終了していない文字列型の定数です。
    コード 80A03F7
    と表示されてしまいます。

    上記の質問とまったく同じ状況です。どうしたらよいでしょうか?

    コメント by 田中 — 2011 年 2 月 10 日 @ 06:26
  14. 今たまたま発見したのですが、皆さんが書き込んでいる問題はスイッターが新しくリニューアルしたことに伴うものだと思います。旧ツイッターモードにするとさくらさんと通りサクサク動きます。

    コメント by 田中 — 2011 年 2 月 10 日 @ 10:55
  15. 僕も旧Ver.にしたらサクサクと動きました。
    新Ver.で動かないのは何が原因なんでしょうか・・・

    近々旧Ver.使えなくなるらしいので心配です。。。

    コメント by 千葉 — 2011 年 3 月 2 日 @ 00:03
  16. Compɑre the percenttage of MA graduates on totɑlly frfee datng sites and ppaid ouut ones. Thіs isn’t precisely great infоrmmation if you’re searchi

    コメント by Shawn — 2014 年 4 月 29 日 @ 17:07
  17. I think the admin of this web page is truly working hard
    for his website, since here every information is quality based information.

    my homepage web site – Randy,

    コメント by Randy — 2015 年 9 月 6 日 @ 08:19
  18. Hi there, You have done an excellent job. I’ll definitely digg it and personally suggest to
    my friends. I’m confident they’ll be benefited from this website (Lurlene).

    コメント by Lurlene — 2015 年 9 月 6 日 @ 11:26
  19. Abogados expertos en separaciones y divorcios, extranjeria,
    derecho civil y penal y seguros., Chicago, Dallas, Houston, Miami,
    Para asistir a no ahogarse en el intento, en el
    #WeKCoDesayuno procuré entregar ciertas claves para eludir los #fails más peligrosos en este ambiente.

    my site Blog « Iurismática Abogados – Derecho TICs

    コメント by Blog « Iurismática Abogados – Derecho TICs — 2015 年 12 月 16 日 @ 15:34
  20. Pretty component of content. I just stumbled upon your weblog and in accession capital to assert that I get in fact
    enjoyed account your blog posts. Any wway I’ll be subscribing
    in your augkent and even I success you get right of entry to constantly rapidly.

    my homepage Shelley – Modesto,

    コメント by Modesto — 2016 年 5 月 6 日 @ 10:56
  21. 「今日は何と無しに、だらだらしとこうかな?」カナフレックス2chさんを昼ご飯に誘い出すつもりで連絡をしたら、第一声がこれでした。

    という事で、今日、まさしくに久しぶりにカナフレックス2chさんに会いました。

    コメント by カナフレックス2ch — 2016 年 10 月 25 日 @ 09:20
  22. When I initially ⅼeft ɑ commen I apear to havfe
    clicked tɦе -Notify me when neww cpmments are аdded- checkbox ɑnd noᴡ every time a cоmment
    iѕ added I recieve fou emails with thee exact ѕame comment.

    Is there а way yοu cɑn remove mе fгom that service?
    Kudos!

    Visit myy site :: web page

    コメント by web page — 2016 年 12 月 8 日 @ 20:59
  23. It’s thhe best time to make some plans for the future andd it’s time to
    be happy. I’ve rezd this post and if I could I waant too
    suggest you soje interesting things or advice.

    Perhaps you could write next articless referring tto this article.

    I wish to read more things about it!

    コメント by καθαριστικο προσωπου — 2017 年 2 月 21 日 @ 11:52
  24. Nos programаs de incentivo ρara quem quer сomeçɑг aos poucos,
    você pode fazer Cadastro Rápido e iг adգuirindo pontos para poder ganhar Kit Etapa 1, entre outrɑas modaliⅾades de іncentivo.

    コメント by contem 1g perfumes similares — 2017 年 2 月 24 日 @ 16:53
  25. each time i used to read smaller content which also clear their motive, andd that is also happening with this adticle which I am reading now.

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

Copyright © 2017 さくらたんどっとびーず | powered by WordPress with Barecity