去年辺りからちょいちょいTwitter Botを新API対応を兼ねて作りなおしてまして、そして3月3日頃*1に置き換えてました。
違いは
- Google App EngineからAppFogに移動
- 結果Python製だったのがRuby製に
- ついでにツイート間隔が8時間毎から6時間毎になりました
- シェリス様の英語表記が判明したのでアカウント名変更
というくらい。まだまだ試験運用ですが気が向いたら見てやってください
新しいアカウントはこちら→@SherriceBOT
以下余談というかAppFogの仕様とかについてのメモ
とりあえず前提として、AppFogだと以下の様な構成にしてます。
- sherrice-bot (Ruby 1.8.7)
- ボット本体。ツイートするために常時稼動
- sherrice-web (Ruby 1.9.3)
- ボットのツイート設定用Webアプリ。通常は停止
- sherrice-pma
- DB管理用phpMyAdmin。通常は停止。
- AppFogだとphpMyAdmin用のテンプレートがあるからそれ使うだけ。ユーザ名とパスワードを設定すれば直ぐ使えて便利すぎる
- sherrice-db
- MySQL DBサービス。複数のアプリに接続できるので共有とか楽でした
ここで見ていただきたいのは、Bot側とWeb側で使ってるRubyのバージョンが違うということ。なんでこんなことになったのかっていうのは単にAppFog側の仕様のせいなんですが。
というのも、本当は全部Ruby 1.9.3で作ってるんですよ *2。
ただWebからアプリを作るとRuby 1.9.2に固定されるので、afコマンドラインツールで作らないといけないですが。
ただどうもStandalone Applicationを選択するとこのRubyエンジン選択が無視されるようです。ナンデダ。
いや、ディレクトリを調べればなんかRuby 1.9.3がいる場所わかるんですが、PATHに含まれるRubyは1.8系のようなんですよね。
なのでStandalone Applicationとして
ruby bot.rbとかやると1.8系で動かされるという。
これまじで(´・ω・`) ってなるんで、皆も気をつけるといいよ(´・ω・`)