hubotのインストールからアダプタ、スクリプトの自作まで
※2014/11/15 スクリプトの書き方加筆
オレオレシステムに投稿するためのボット作成にhubotを使ってみました。
公式ページの最新ぽいやり方でインストールを進めてみてハマったところをメモ。
インストール
hubot/README.md at master · github/hubot · GitHub
より
% npm install -g yo generator-hubot
でyeomanというテンプレートからプロジェクト生成を行うツールとhubot用のテンプレートをインストール。
% mkdir myhubot
% cd myhubot
% yo hubot
適当にフォルダを作ってyoコマンドを使ってプロジェクト作成のウィザードを起動します。色々聞かれますが練習なら何も入力しなくていいはずです。
以下では全てmyhubotフォルダをカレントディレクトリに設定している前提です。
※既にhubotをインストールしていたらyo hubotのところでコケました
アダプタを作る
オレオレシステムに投稿するためのアダプタを作ります。投稿やタイムラインの受信を実装すればオレオレシステムにボットが動かせます。
node_modules/adapters/にアダプタのソースをおけばいいので
% cp node_modules/hubot/src/adapter.coffee node_modules/hubot/src/adapters/myadapter.coffee
を実行してテンプレートをコピー。
node_modules/hubot/src/robot.coffeeの
HUBOT_DEFAULT_ADAPTERS = [
'campfire'
'shell'
'myadapter'
]
辺りを自作したアダプタ名を追加して保存する。
アダプタの実装方法はサンプルを見るかググった方が詳しいページが出てくるので割愛します。
% bin/hubot -a myadapter
で動作確認します。エラーが出なければ成功。
スクリプトを作る
スクリプトは実際のボットの動作を記述するもので、前述のアダプタのおかげで特定のシステム依存のコードを書く必要がないので使い回しが楽チン。
スクリプトにもテンプレートがあるのでそれを使えばOK。スクリプトはscriptsフォルダに配置したものが全て読み込まれるようです。
scripts/example.coffeeをコピーしてオレオレスクリプトを書き始めると良いでしょう。
割と公式の情報も充実しているので慣れてきたら読んでみようと思います。
hubot/adapters.md at master · github/hubot · GitHub
hubot/scripting.md at master · github/hubot · GitHub
実際に書き始めてみたら、self.emit 'connected'を実行しないとスクリプトの読み込みが進まなかったのでしばらくハマりました。
何かハマったら
export HUBOT_LOG_LEVEL="debug"
してから実行するとデバッグログが出るようになるので何かヒント見つかるかもしれません