ネタが無い。最近はまっていることと言えばbot作りということで、既にあちこちでhubotの記事がありますが同僚にも色々教えてもらったしメモとして残していこうかなと。
hubotをircに置いて、色々やってもらうところまでを目標に。
まずはircのチャットルームにhubotを登場させる。
【参考】
HubotでIRC Botを作る - おいら屋ファクトリー
hubotで快適BOT生活
やること
- 1,npmインストール
- 2,coffeescriptとhubotインストール
- 3,ircへ登場させる(デーモン化)
- 4,bot生存確認方法
1,npmインストール
http://nodejs.jp/nodejs.org_ja/docs/v0.10/よりダウンロードできる。0.10.25が今のところ安定している?という噂。
2,coffeescriptとhubotインストール
hubot用にフォルダ作成して、
$ mkdir testbot $ cd testbot
package.jsonを作る
{ "name": "hosted-hubot", "version": "2.4.7", "author": "GitHub Inc.", "keywords": "github hubot campfire bot", "description": "A simple helpful Robot for your Company", "licenses": [ { "type": "MIT", "url": "http://github.com/github/hubot/raw/master/LICENSE" } ], "repository": { "type": "git", "url": "https://github.com/github/hubot.git" }, "dependencies": { "hubot": "*", "hubot-scripts": "*", "optparse": "*", "hubot-irc": "*", "time": "*", "cron": "*", "coffee-script": "~1.7.1" } }
あとはインストール
$ npm install
これでpackage.jsonに記載したモジュールがnode_module階層下にできる
$ npm install MODULE_NAME
としてモジュールを追加していく時は、 --saveをオプションに付けとくとpackage.jsonに自動で追記してくれるので便利
$ npm install MODULE_NAME --save
といった感じで。
3,ircへ登場させる(デーモン化)
foreverのインストール
$ npm install forever -g
run.sh作る
#!/usr/bin/env bash # hubot export PORT=8889 # hubot-irc export HUBOT_IRC_NICK="botchan" export HUBOT_IRC_USERNAME="irchubot"↲ export HUBOT_IRC_REALNAME="irchubot"↲ export HUBOT_IRC_SERVER="" export HUBOT_IRC_ROOMS="#hogehoge" export HUBOT_IRC_SEND_NOTICE_MODE="true" # 全発言をNotice forever start -c coffee node_modules/hubot/bin/hubot -a irc
stop.shも作る
#!/usr/bin/env sh forever stop node_modules/hubot/bin/hubot
最終的にこんな階層になる
$ tree -L 1 . ├── node_modules ├── package.json ├── run.sh └── stop.sh
あとはコマンドで、
$ sh run.sh
で指定してチャンネルにbotちゃんが登場するはず
4,bot生存確認方法
foreverでデーモン化させている訳ですが、
$ forever list info: Forever processes running data: uid command script forever pid logfile uptime data: [0] cH0P coffee node_modules/hubot/bin/hubot -a irc 86471 86472 /Users/XXXXXXXX/.forever/cH0P.log 0:0:0:3.262
こんな感じでプロセス一覧と、ログの場所がわかる。