hubotとは
github社が作成したオープンソースのbotフレームワーク。
Botなので定期的、自動的、トリガーによるプログラムの実行を行える。
例えばhipchatと連携してhubotに対して特定のキーワードによる処理実行などが行える(深夜の飯テロなどww)
hubotはNode.jsとcoffeescriptで作成されている。
なのでhubotを使いたい場合この2つは必須となる。
インストール事態はnpm(node package manager)を利用することで可能。
インストール
hubotはcoffeescriptを利用しているのでとりあえず"coffeescript"をインストールしてやる。(node.jsに関しては既に環境構築済み version:0.10.24を利用)
npm install -g coffee-script
これでcoffeescriptのインストールができたので、実際にhubotをインストールしていく。
ネットで調べた所
npm install -g hubot
hubot -c hubot
とすればhubotの作成が出来るという記事を多く見つけたが、[hubot --c]は非推奨の様子。
yoman generatorを利用しろと言われてしまった。
というわけで"yoman"をインストールし、"generator-hubot"のインストールをしてやる。
npm install -g yo
npm install -g yo generator-hubot
問題なくインストールが成功したら
yo hubot -c [bot名]
でhobutの実行ファイルができる。
場所は[./bin/hubot]これを実行してやればhubotが実行される。
実行するといろいろな文字が表示された後に止まるのでエンターなどのキーを押してやるとコンソールに
Hubot>
と表示されhubotと対話できる状態になる。
ただ、初期の状態で実行しても何も反応してくれないので[scripts]ディレクトリ以下にスクリプトを追加してやる。
module.exports = (robot) ->
robot.hear /hello/i, (msg) ->
msg.send "hello"
robot.respond /hoge/i, (msg) ->
msg.send "fuga"
スクリプトの作成が終わったら、[cirl-c]でhubotを一度終了させ再度実行。
hubotが立ち上がったら
Hubot> hello #自分の入力
Hubot> hello #hubotの反応
Hubot> Hubot hoge #自分の入力
Hubot> fuga #hubotの反応
となればscriptの実行に問題ない。
サンプルスクリプトの入手?
他にもhubot関連のgeneratorを試しに入手して試してみたところスクリプトのサンプルになりそうなものがあったので一応記載
npm install -g yo generator-hubot-bot
yo hubot-bot
でプロジェクトを作成したあと
[./node_modules/hubot-scripts/src/]以下に何やらスクリプトがあったのでサンプルとして利用できそう。
(hubot-botの実際の利用用途してはわからなかったのでとりあえずはサンプル入手として利用しよう)
補足
hubot関連のプロジェクトを指定して生成していたが、yoman側で管理しているので
yo
と入力すればインストールされているgenerator一覧が出てくれるので、そこから生成する方法でも問題ない。