Help us understand the problem. What is going on with this article?

Slack への Hubot 導入はじめ

More than 3 years have passed since last update.

導入でつまずいたので、記事で残します。

環境とインストールしておくツール

  • windows 10
  • git (version 2.6.4.windows.1)
  • node.js (v5.2.0)

git は必須ではないですが、git bashから構築及び実行をしているため挙げました。
git と node.js については公式配布物から最新版をインストールでよいです。
当該環境ではインストーラによる導入をしています。

git : https://git-scm.com/
node : https://nodejs.org/

Hubot を召喚しよう

Hubot プロジェクトの作成には、公式ドキュメントが大きな力になります。
https://hubot.github.com/docs/

召喚例として導入時の内容を以下に記述します。
環境を整えたら、まずは git bash を起動して node および npm が使えることを確認します。

$ node -v
v5.2.0
$ npm -v
3.5.2

npm のバージョンが確認できたら、Hubotのジェネレータをインストールします。

$ npm install -g yo generator-hubot

ここまでできたら、いよいよ召喚の議を行います。
召喚先のプロジェクトフォルダを作成し、Hubotをインストールします。

$ mkdir myhubot
$ cd myhubot
$ yo hubot

これでhubotが降臨します。
降臨中に Owner, Bot name, Description, Bot adapter の4つを聞かれるので回答します。

前者3つは自由回答でかまいませんが、adapter は slack と回答しましょう。
そうすることで slack 向けの初期設定がされます。

降臨後はコマンドで ./bin/hubot を実行し、対話を試みます。
対話では Bot name で決めた名前でよびかけます。
以下は Bot name を myhubot とした場合の対話例です。

$ bin/hubot
myhubot ping
myhubot> PONG

myhubot が PONG を返したので対話成功です。
インストールできたと言えます。

各コマンド実行の際に yeoman が不足しているなどの警告があれば適時インストールしてください。
自分の場合、(タイミングは忘れましたが)yeoman-doctor が欲しいと言われたので npm でインストールしました。

$ npm -g install yeoman-doctor

Hubot を Slackに呼ぼう

Slack に呼ぶ方法は以下を参考にしました。
https://www.seeds-std.co.jp/seedsblog/2125.html

Slack の Costom IntegrationページでHubotを召還する準備をします。
準備は2つです。

  1. Hubotを降ろすBotアカウントを追加
  2. API Token を控える

Botアカウントを追加できたら、Slackでの対話をしましょう。
以下を実行して、Hubotを起こします。
xxxxxxxxxxxxxxx には、先ほどのAPI Token を置換して実行ください。

$ HUBOT_SLACK_TOKEN=xxxxxxxxxxxxxxx bin/hubot --adapter slack

無事実行できたら、Hubotを降ろしたアカウント宛に ping します。
PONG をリプライされれば対話成功です。

導入はじめの手続きは以上です。

今は script ディレクトリに 対話例のスクリプト example.coffee があるので、いろいろと試して遊んでこの後を考えてます。
また、実際に運用する場合はローカルではなく heroku などを使うことになるかと思います(が、まだ試していません)。

参考

http://qiita.com/osamunmun/items/617fe116f89cd02d4913
http://qiita.com/kmdsbng/items/fdc069048b5f0d07295e
http://memo.sanographix.net/post/88371442780

dNaga392
投稿することは少ないです。気づいたことがありましたら、お気軽にご返信ください。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away