hubotでIRCのBOTを簡単に動かす(hubot2.3 + hubot-irc0.1.0)


サーバ さくらのVPS 1G
OS CentOS release 6.3 (Final) x86_64
Node.js v0.9.0
hubot 2.3
hubot-irc v0.1.0

BOT動作のイメージ図

でhubotの導入を試みましたが、現時点での最新版(hubot2.3+hubot-irc0.1.0)でより簡単に動かす方法がわかったので記します。

本記事では、Node.js、CoffeeScriptとRedisのインストールが完了していることを前提とします。まだの方は、前回の記事に導入方法を書いているので、試してみて下さい。

インストール

hubotとhubot-ircのセットアップ用テンプレートを作ってgithubに上げました。

% git clone git://github.com/fumiz/hubot-ircbot-example.git
% cd hubot-ircbot-example
% npm install

cloneすると、次のファイルがダウンロードされます

  • hubotとhubot-ircへの依存関係が書かれたpackage.json
  • BOT動作のテスト用コマンドが入ったscriptディレクトリ
  • IRC接続用のシェルスクリプトサンプルが書かれたrunhubot.sh

IRCサーバへの接続設定

runhubot.shを編集します。それぞれの項目は次の意味になります

#!/bin/bash
 
export HUBOT_IRC_SERVER="接続先IRCサーバ"
export HUBOT_IRC_PORT="接続先ポート番号"
export HUBOT_IRC_USERNAME="IRCサーバログイン用のユーザ名"
# IRCサーバがログインパスワードを要求する場合のみ設定
# export HUBOT_IRC_PASSWORD="IRCサーバログイン用のパスワード"
export HUBOT_IRC_ROOMS="#channel1, #channel2"
export HUBOT_IRC_NICK="ニックネーム"
 
# hubotは、-nオプションで付けた名前を自分の名前だと認識します
./node_modules/hubot/bin/hubot -a irc -n mybot

起動

% runhubot.sh

IRCサーバの接続設定が正しく書かれていれば、接続に成功する筈です。BOTが入っているチャンネルに入って、helloやmybot who are you?と話しかけてみましょう

BOT動作のイメージ図

スクリプトの追加など

scriptsディレクトリに入っているhello.coffeeは、”hello”と発言した時に反応するコマンドと、”mybot who are you?”と呼びかけた時に反応するコマンドだけを含んでいます。

hubotに最初からついてくるスクリプトは、npm installする時に落ちてくるnode_modules/hubot/src/scriptsディレクトリに入っているので、scriptsディレクトリにコピーするとすぐに使えます。

(依存関係の解決が必要なモジュールを使うスクリプトでエラーが出る場合は、npm installで対象モジュールをインストールしてやればOK)

他にも、数多くのスクリプトが公開されているので探してみるのも一興かと。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>