2014年9月14日日曜日

HubotをWindowsにインストールする方法

6年間使っていたノートパソコンが壊れてしまったため、会社のサーバを私物化して仕事などしている廣田です。
最大のダメージは「ノーパソ」という言葉を使うチャンスが激減してしまったことです。ノーバン始球式的な意味で。

サーバの前に常にいるわけですので、サーバの拡張したいときにいちいちサーバの前へ行ったりサーバへつないだりする手間は省けます。
しかし会社のサーバですので、社員からアクセスが集中したりするとちょっとケアン(クメール語で「かたまる」)するのが玉に瑕です。

今日はこのサーバに、ChatOpsを実現するのに便利なボットフレームワークHubotをインストールしました。
もちろん、これまで構築したRedmineとIRCとをつなげてChatOpsしようという魂胆です!


噛みます


公式トップページ
HUBOT
https://hubot.github.com/
の図解によると、内蔵のVIOLENCE INHIBITORはBETAですので要注意。

Node.jsをインストール


Hubotを使うためには、まずパソコンにNode.jsが入っている必要があります。
HubotはNode.js上で動くからです。

node.js
http://nodejs.org/download/
からWindows Installer (.msi) 32-bitをダウンロード。
今日時点のバージョンはv0.10.31。

これをダブクリしてインストール。
普通にWindows的インストーラです。
コマンドラインとかじゃありません。
大変心休まります。

ひたすらNextで、インストールを完了させます。

Hubotをインストール


Hubotをインストールするには、Node.jsと一緒にインストールされたnpmというパッケージ管理ソフトを使います。

やり方は、公式のGetting Started
hubot/docs at master · github/hubot · GitHub
https://github.com/github/hubot/tree/master/docs
に従います。

コマンドプロンプトにおいて
npm install -g hubot coffee-script
を実行します。

すると、npmが、HubotとCoffeeScriptをダウンロードしてインストールしてくれます。

npmフォルダ内に、node_modulesフォルダと以下の6個のファイルが生成されます:

  • cake
  • cake.cmd
  • coffee
  • coffee.cmd
  • hubot
  • hubot.cmd

node_modulesフォルダ内には、hubotフォルダとcoffee-scriptフォルダとが並列に生成されています。

堕落だ


Windowsに入れるソフトはふつう、ブラウザでダウンロードサイトへアクセスして自分でダウンロードして、それをインストールする、という手順をふみますね。
しかし、npmは勝手にダウンロードとインストールをしてくれます。
Hubotをネット上のどこから落とすべきかを指定する必要すらありません。
どこからともなくダウンロードしてくれます。
とても便利です。

しかし、人間がこんな便利に慣れて堕落してしまって良いのか!
中身もわからず使っていて良いのか!
どこからともなくダウンロードされたソフトなど使って良いのか!
機械に使われてはいないか!
などと理不尽な憤慨もおぼえます。
44歳の春だから。
冷たい眼で見ないで。



Hubotを実行してみる


コマンドラインで
hubot -h
を実行すると、ヘルプが表示されます。

たとえば、自分のボットを作成するには、公式のGetting Started
hubot/docs at master · github/hubot · GitHub
https://github.com/github/hubot/tree/master/docs
にあるように、コマンドラインで
hubot --create myhubot
を実行します。

あえていばらの道を行く場合


なお、
[10] npmを用いたHubotのインストール
http://supportdoc.net/support-coffee/10-hubot.html
では、
npm install hubot
としているので、hubotフォルダと並列にcoffee-scriptフォルダが生成されません。
この方法だと、hubotコマンドへはパスが通るのですが、coffeeコマンドへパスが通りません。
この状態でhubotコマンドを実行すると、coffeeコマンドなんか知らないよというエラーで失敗します。
ですので、Hubotの起動コマンドがたいへん複雑になってしまいます。
その複雑になってしまった起動コマンドの解説や、バッチやショートカットでそれを少しでも複雑じゃなくする工夫が、
[11]Hubotの起動コマンド
http://supportdoc.net/support-coffee/11-gohubot.html[12]Hubotのホームフォルダとその構造
http://supportdoc.net/support-coffee/12-hubot_files.html
にえんえん書かれています。
そもそもCoffeeScriptをHubotの配下にインストールさせた理由として、[10]のページには
 応答をよく見ると、CoffeeScriptも一緒にインストールされていることがわかるでしょう。
 文書[8]で既に一度CoffeeScriptをインストールして使っているので、2重インストールになりますが、HubotのためのCoffeeScriptはHubot専用にインストールされたほうが便利なので、あえて別フォルダ「hubotfolder」でインストールを行った次第です。
と書かれています。
そのような考えであれば、そのほうが良いと思いますが、Hubotだけ使いたいなら、別にそのような考えでない場合が多いとおもいますので、上でやったようにhubotと並列にcoffee-scriptを入れれば、そのような苦労はせずにすみます。

※ただ、2年ぐらい前に出た本と連動したマニュアルのようですので、今とは事情が違った可能性もあります。

Hubotとコマンドラインで会話


Hubotととりあえずコマンドラインで会話することもできます。
コマンドラインにおいて、cdでhubotフォルダへ移動してから
hubot
を実行すると、
Hubot>
プロンプトが出ます。

ここでHubotと会話ができます。

※なお、hubotフォルダ以外にいると、話しかけても、なぜか返事が返ってきません。

会話ヘルプ


とりあえず会話で使えるコマンドのヘルプを出したければ、ここで
hubot help
と打てば、ヘルプが表示されます。

地図


たとえば
hubot map me phnompenh
と打てば、URLを印字してくれます。
このURLをブラウザへコピーしてアクセスすれば、プノンペン周辺の地図が表示されます。

翻訳


hubot translate me うんこ
と打ったら、
" うんこ" is Japanese for " Shit "
と教えてくれました。

アニメ化


hubot animate me 萌え
と打ったら、
http://blog-imgs-50.fc2.com/b/i/t/bitshopblog/achi08-022.gif
というURLが返ってきました。

会話終了


Hubot>を終了させる、すなわちHubotとの会話を終了させるには、
hubot die
と打ちます。
あるいはCtrl-C。

相手をうんこにする


コマンドライン会話の相手の名前をHubot以外にしたければ、公式のGetting Started
hubot/docs at master · github/hubot · GitHub
https://github.com/github/hubot/tree/master/docs
にあるように、--nameオプションを用います。

たとえば相手の名前を「うんこ」にしたければ、コマンドラインで
hubot --name うんこ
を実行します。

この場合、プロンプトは当然
うんこ>
になり、こちらから話しかけるときの呼びかけも「hubot」でなく
うんこ help
などと打つ必要があります。

遊びはこのくらいにして


とりあえずHubot本体はパソコンに入ったよということで、いったんここで切ります。

南旺理工: HubotのIRCアダプタをWindowsにインストールして設定する方法
http://nanorico.blogspot.com/2014/09/hubotircwindows.html
へ続きます。

0 件のコメント:

コメントを投稿