前回までのあらすじ
南旺理工: HubotをWindowsにインストールする方法に従ってHubotをWindowsにインストールすることに成功していることが前提です。
http://nanorico.blogspot.com/2014/09/hubotwindows.html
IRCアダプタ
このHubotにIRCアダプタをインストールして設定する方法です。
nandub/hubot-irc · GitHubを参考にしました。
https://github.com/nandub/hubot-irc
インストール手順
コマンドプロンプトに入ります。
hubot --create myhubot
を実行します。
生成されたmyhubotディレクトリへcdで移動します。
npm install hubot-irc --save && npm install
を実行します。
gitがないというエラー
すると、gitというコマンドがないぜと言われます。
なぜgitなどが要るんじゃあ~! とおもって、hubot-ircのpackage.json
hubot-irc/package.json at master · nandub/hubot-irc · GitHubを見ると、
https://github.com/nandub/hubot-irc/blob/master/package.json
"dependencies": {
"irc": "git+https://github.com/nandub/node-irc.git",
"log": "1.4.0"
},
の中の「git+https:」が目につきます。
npmのpackage.jsonにgitリポジトリを指定する方法。 - Sooeyから察するに、この「git」がgitコマンドを求めているとおもわれます。
http://journal.sooey.com/195
Gitをインストール
そこで、GitをWindowsにインストールします。
Git - Downloading Packageからインストーラをダウンロードします。
http://git-scm.com/download/win
今日時点でダウンロードされたインストーラはGit 1.9.4でした。
インストーラを起動します。
普通にWindows用ソフトにありがちなインストーラです。
今回Gitを入れる用途は
- 自分では別に使わない。
- gitコマンドへパスが通っていてほしい。
ということですので、インストール中に出てくる質問に対しては、それぞれ以下のように答えます:
- Select Componentsですべてチェックを外す。
- Adjusting your PATH environmentでUse Git from the Windows Command Promptを選択。
- Configuring the line ending conversionsでCheckout Windows-style, commit Unix-style line endingsを選択。
インストール手順(Gitがある状態で)
Gitのインストールが完了したら、あらためて、myhubotディレクトリにおいて
npm install hubot-irc --save && npm install
を実行します。
すると今度は、gitというコマンドがないぜというエラーは出ません。
myhubot\node_modulesディレクトリ内にhubot-ircフォルダがダウンロード・インストールされます。
また、--saveオプションを指定しましたので、myhubot\package.json内のdependencies内にhubot-ircのエントリが自動的に挿入されます。
Hubot IRCアダプタのインストール成功です。
やれやれです。
アダプタ接続
myhubotディレクトリにおいて
bin\hubot -a irc
を実行してみます。
※なお、ここで「bin\」を入れ忘れると、myhubotボットのhubotコマンドではなく、グローバルなhubotコマンドが実行されてしまいますので注意が必要です。なぜなら、グローバルなhubotコマンドにパスが通っているからです。
環境変数がないというエラー
すると、環境変数が定義されていませんぜというエラーが出ます。
まだ定義していませんので当然です。
むしろこのエラーは、HubotがIRCアダプタとちゃんと連携取れたことを示す良い知らせです。
環境変数
hubot-irc/irc.coffee at master · nandub/hubot-irc · GitHubに記されているとおり、Hubot IRCアダプタの動作のために、以下の2つの環境変数は必須です:
https://github.com/nandub/hubot-irc/blob/master/src/irc.coffee
HUBOT_IRC_ROOMS
ボットを参加させたいチャンネル。
複数のチャンネル名を半角カンマ区切りで与えることもできます。
HUBOT_IRC_SERVER
IRCサーバアドレス。
ほかに以下の環境変数をオプショナルに使うことができます:
HUBOT_LOG_LEVEL
ログのレベル:
- EMERGENCYまたは0:System is unusable.
- ALERTまたは1:Action must be taken immediately.
- CRITICALまたは2:Critical condition.
- ERRORまたは3:Error condition.
- WARNINGまたは4:Warning condition.
- NOTICEまたは5:Normal but significant condition.
- INFOまたは6:Purely informational message.
- DEBUGまたは7:Application debug messages.
HUBOT_IRC_SEND_NOTICE_MODE
noticeで発言させるかどうかのフラグ。
noticeで発言させるなら空以外にします。
HUBOT_IRC_NICK
ボットのニック。
定義していない場合には--nameオプションの値が採用されます。
HUBOT_IRC_REALNAME
ボットの「実名」。
HUBOT_IRC_PORT
IRCサーバのポート。
HUBOT_IRC_IGNORE_USERS
無視ユーザー名。
複数のユーザー名を半角カンマ区切りで与えることもできます。
HUBOT_IRC_PASSWORD
パスワード。
HUBOT_IRC_NICKSERV_PASSWORD
NickServパスワード。
HUBOT_IRC_NICKSERV_USERNAME
NickServユーザー名。
HUBOT_IRC_CONNECT_COMMAND
IRCサーバ接続時のコマンド。
HUBOT_IRC_SERVER_FAKE_SSL
自己署名のナンチャッテSSLを認めるかどうかのフラグ。
自己署名のナンチャッテSSLを認めるなら空以外にします。
HUBOT_IRC_SERVER_CERT_EXPIRED
expired certificateを認めるかどうかのフラグ。
expired certificateを認めるなら空以外にします。
HUBOT_IRC_UNFLOOD
floodingを起こさないよう配慮するかどうかのフラグ。
floodingを起こさないよう配慮するなら空以外にします。
あるいは、メッセージ送出間隔をミリ秒単位で指定することもできます。
HUBOT_IRC_DEBUG
node-ircのdebugログを有効にするかどうかのフラグ。
node-ircのdebugログを有効にするなら空以外にします。
HUBOT_IRC_USESSL
SSLを使用するかどうかのフラグ。
SSLを使用するなら空以外にします。
HUBOT_IRC_USERNAME
ユーザー名。
HUBOT_IRC_PRIVATE
/msgに反応しないかどうか、および/inviteに応じないかどうかのフラグ。
/msgに反応しない、および/inviteに応じないなら空以外にします。
HUBOT_IRC_IGNOREINVITE
/inviteに応じないかどうかのフラグ。
/inviteに応じないなら空以外にします。
環境変数を設定
環境変数を設定するには、コントロールパネルで「システム」を開き、「詳細設定」タブで「環境変数」ボタンを押します。
「システム環境変数」の「新規」ボタンを押して、新しいシステム変数を追加。追加したい変数すべてについてこれを繰り返します。
※ただしこの方法では、パスワードを設定したシステム環境変数がこの画面で丸見えです。コマンドプロンプトのsetコマンドでも丸見えです。セキュリティ上良くないかもしれません。セキュリティ上もっといい方法あるかもしれません。
※ただしこの操作手順は、某エンガチョWindows上でのものであり、良い子の皆様がお使いのWindowsでは、違う操作手順かもしれません。
ウチの環境にはZNCが入れてありますので、サーバアドレス・ポート・SSL設定・ユーザー名・パスワードにそれぞれZNCのものを指定しました。
アダプタ接続(環境変数がある状態で)
もう一度、myhubotディレクトリにおいて
bin\hubot -a irc
を実行してみます。
パスワードが無効というエラー
すると、HUBOT_IRC_USERNAMEで指定したユーザー名について、パスワードが無効と言われます。
まだZNCにこのユーザーを作っていませんので、当然です。
むしろこのエラーは、Hubot IRCアダプタがちゃんとZNCと連携取れたことを示す良い知らせです。
IRCアダプタ自体のインストールと設定はこれで終わりました。
ZNCユーザー
今度は、ZNC側にボットユーザーを作ってやる必要があります。
Hubot and ZNC. This is a quick set of tips on how to set up your Hubot to connect through ZNC to your IRC server (freenode, self hosted, etc.). It assumes you already know a bit about ZNC and configuring a Hubot.を参考にします。
https://gist.github.com/stephenyeargin/8465564
Redisがないという警告
余談ですが、hubotコマンドを実行すると、Redisがねえよとか警告されます。
エラーではないので、そのまま実行は継続されてくれますが、うざいです。
Redisを要らないことにする
とりあえずRedisについては当面は使いませんので、
Hubotの導入とHipChat Adapter設定方法 - Devlogの最後に書いてあることを参考に、myhubot\hubot-scripts.jsonの中身を
http://kkurahar.github.io/blog/2013/10/03/hubot-hipchat/
["redis-brain.coffee", "shipit.coffee"]
から
["shipit.coffee"]
に変更しておきます。
長くなったのでいったん切ります。
---
南旺理工: WindowsでHubotとIRCとHTTPリクエストの連携を確認するへつづきます。
http://nanorico.blogspot.com/2014/09/windowshubotirchttp.html
0 件のコメント:
コメントを投稿