AbyssLukeのガイドライン(更新停止)

はてダから移転。このブログは更新されません。

制作者が解説する@muskabot(基本編)

重要

@muskabotはアカウントごとバルスしました。今までのご愛顧ありがとうございました。

以前の記事

@muskabot
はてなグループのtwitter部の日記でも書いてはいるが、ここにも詳しく書いてみる。
※2009/05/23 12:47 若干の機能追加に伴い更新
※2009/09/01 16:15 たまに更新してみるテスト。

  • PHPで作られたTwitter/Wassr bot。正式名称は「ムスカbot」。
    • 元ネタは「天空の城ラピュタ」の「ロムスカ・パロ・ウル・ラピュタ」(keyword:ムスカ)である。
    • Wassr版に関しては最近メンテナンスしていないので動作がどうなっているかは不明*1→7/31にサービス終了。
  • @muskabotは4つのプログラムで構成されている。
    • メインプログラム(@bombtter_rawからデータを取得し発言するなど)
    • 時報プログラム(Twitter/Wassr版共通)
    • Reply処理プログラム(Wassr版にはない)
    • Twitterダウンチェックプログラム(Wassr版のみ)
  • メインプログラム/Reply処理プログラム/TwitterダウンチェックプログラムはJSONでタイムラインを取得/解析している関係上PHP5.2.0以降で動作する(json_decodeを使用している)。
    • 時報プログラムはPHP4でも動く。ただしOAuthでPOSTさせる場合はライブラリの関係上PHP4では動作しない。
  • メインプログラムはpspelp.comがあるサーバー(s64.coreserver.jp)で動作している。
    • @bombtterの爆発情報を元にPOSTする。
    • Webサイトからのimgタグなどでの呼び出しで動作する。pspelp.comなどのそこそこアクセスのあるサイトに仕込んである。
    • 動作間隔(TL取得間隔)は指定してあるので1分間で10回とかアクセスされても動作は1回のみになるはず。
    • ただ今の動作間隔は50秒くらい。
  • 時報プログラムは00分、30分に動作し、それぞれ以下のサーバーでCRONを用いて動作している。
    • 00分:s87.xrea.com www713.sakura.ne.jp*2
    • 30分:s64.coreserver.jp
    • 1回の動作でTwitter/Wassrに同時投稿する。
    • 00時や、朝チュン/昼ぽっぽー、一部のアニメの時間帯はPOSTが変わる。
    • それ以外は5-6パターンの中から適当に選択し投稿する。
  • Reply処理プログラムはメインプログラムから呼び出され、www713.sakura.ne.jpのサーバー上で動作している。
    • @muskabotのReplyを取得し、反応させるワードに登録されているワードがあった場合、それに対応するPOSTをReplyする。
    • Replyによっては通常POSTとし、Reply先のステータスID(in_reply_to_status_id)を付与しない場合がある。
    • 動作間隔は2分。
  • Twitterダウンチェックプログラムはメインプログラムと同じサーバー、呼び出し方法で動作している。
    • 約1分ごとにTwitterの@muskabotのTL取得を試み、連続5回以上アクセス不可 or メンテナンスダウンと判断した場合、WassrのTLとTwitterグループのTLにダウンの情報をPOSTする(理由も付ける)。
    • ダウンが続いている場合、一定確率でその旨をPOSTする。
    • ダウンカウント中に1回でもアクセスに成功した場合は復旧の旨のPOSTをする。
    • このダウンカウントはここで閲覧できる。

*1:そのためあえてリンクはしていない。IDはTwitterと同じ

*2:動作不良により2009/08/31にサーバー移転