TwitterでBOTを動かしたい。
でも、CRONの環境が無い、もしくはレンタルサーバでの実行許可間隔が長い(私が借りてるXREAとCORESERVERは1時間起きにしか実行許可されてません、裏技もありますが)。
ただPOSTするだけならそれでもかまいませんが、reply機能だとそうもいきませんよね。
というかBOT動かすためだけに金払いたくねーよ!
そんな人にはcron-job.orgをオススメしてたのですが(最短2分間隔で実行できます)
最近調子が悪いようで登録したjobが消えてしまうという不具合が出てます。
※どうやら日本からのアクセスが多くて制限してるらしい?
PCを立ち上げっぱなしにできるならFirefoxのGreasemonkeyで動く物があります。
多分一番簡単にできる方法ですが、今回は除外しておきます。
というわけで説明に入る・・・前に
まずは肝心のBOTプログラムを用意しておきましょう。
前に書いた俺でも作れたTwitter botを参考にしてください。
そして、以下のサイトを読んで環境を整えましょう。
『GAE-Cron』のソース&サービス登録サイト公開
簡単に流れを説明すると。
・Google App Engineの登録(要Gmailアドレス&携帯電話)
・Python(2.5.x)をダウンロード&インストール
・Google App Engine SDK for Pythonをダウンロード&インストール
・GAE-Cronのソースをダウンロードし、app.yamlのapplication:(登録したアプリケーションID(appid))と書き換える。
・Google App Engine Launcherを起動する
※ここでエラーが出る場合は、Edit→PrefencesからPython Path(Pythonをインストールしたフォルダ内にあるpython.exeを指定)を設定し保存。
・File→Add Existing ApplicationでGAE-Cronソースの解凍先フォルダを指定
・DeployからGoogleのアカウントとパスワードを入力
・Runを押すと色々実行してるっぽいウィンドウ画面が表示されるのでしばらく眺め、「You can close this windows now」と出ればローカルでの作業は終了
・Google App Engineにアクセスし、アプリケーションIDとタイトルが表示されてるか確認
・されていれば、リンクになってるIDをクリック
・Cron Jobsをクリックし「/gaetimer/timercycle」と「/check_timer」があることを確認
これでCRON環境が整いました。
さて、ラストスパートですよ!
・http://(アプリケーションID).appspot.com/にアクセスしてください
・GAE-Cronの説明画面が出てくるので、ログインしてなければログインしてください
・右上の設定画面をクリック
すると以下のような画面が表示されると思います
・URLに実行するBOTのプログラム名をフルパスで記載
・周期もしくは定刻の設定(上記SSでは5分間隔で実行するようにしています)
・UTCは協定世界時のことで、日本はそれより9時間進んでるのでそのまま
・有効にチェックを入れ、更新をクリック
以上で完了です。
あとは動作するかTwitter上で確認してください。