①HUBOTを動かすために必要な諸々のインストール

準備として以下をインストールする

  • node.js(サーバー)
  • npm(パッケージ管理コマンド)
  • Redis(KVS)

上記をインストールするためにHomebrewのインストールから始める

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
1

これでHomebrewが入るはず

次にHomebrewを使ってそれぞれインストールする

まずnode.jsとnpm

$ brew install node
1

このコマンド一発でnode.jsとnpmが入るはず

$ node -v
v0.10.26
$ npm -v
1.4.6
1
2
3
4

Redisもインストール

$ brew install redis
1

Redisを起動しておく

$ redis-server &
1

②HUBOTをインストールする

GitHubからリポジトリをクローンしてインストール

$ cd git/
$ git clone git://github.com/github/hubot.git
$ cd hubot/
$ npm install -g hubot coffee-script

1
2
3
4
5

動くか確認

$ hubot
Hubot> 
1
2

OK

③HUBOTをircと連携させる

自分用のHUBOTを作る

$ hubot --create myhubot
1

myhubotの部分は自由に変更可。この名前のディレクトリが作られる

自分用HUBOTにhubot-ircをインストール

$ cd myhubot/
$ npm install hubot-irc --save && npm install
1
2

irc連携のためのスクリプトを書く

$ vim runhubot
1

中身はこんな感じ

$ cat runhubot
#!/bin/bash

export HUBOT_IRC_NICK="bot_kun"
export HUBOT_IRC_ROOMS="#target_channel"
export HUBOT_IRC_SERVER="irc.hogehoge.local"
#export HUBOT_IRC_PASSWORD="hoge"

bin/hubot -a irc --name myhubot
1
2
3
4
5
6
7
8
9

スクリプトの実行権限追加

$ chmod u+x runhubot 
1

起動スクリプト実行!

$ ./runhubot &
1

irc上でbotがいるか確認する

bot_kunがいたのでOK

④botにさせたいことを設定する

HUBOTにさせたいことはscriptsディレクトリ以下にCoffeeScriptもしくはJavaScriptで記述する

最初からいくつかのスクリプトが存在するので、それを参考に書けばOK

$ vim scripts/tell_fuga.coffee
$ cat scripts/tell_fuga.coffee
module.exports = (robot) ->

	robot.hear /hoge/, (msg) ->
		msg.send "fuga"
1
2
3
4
5
6

スクリプトを書いたら、再起動すると読み込んでくれる

$ ./runhubot &
1

⑤cronが使えるようにする

node-cronをインストール

$ npm install cron
1

cronを使ったスクリプトを書く

$ vim scripts/mention_hoge.coffee
1

今回は2時間おきに発言するスクリプトを書いてみた

$ cat scripts/mention_hoge.coffee 
cron = require('cron').CronJob
module.exports = (robot) ->
  robot.enter ->
  new cron
    cronTime: "0 0 */2 * * *"
    start: true
    timeZone: "Asia/Tokyo"
    onTick: ->
      robot.send {room: "#target_channel"}, "hoge"
1
2
3
4
5
6
7
8
9
10

参考資料

Last Updated:
Contributors: sojiro14