hubotと戯れてみる #1 slackと連携するhubotを3分でインストールする。(動画付き)

hubotと戯れてみる #1 slackと連携するhubotを3分でインストールする。(動画付き)

最近hubotで何かしたくてうずうずしてます。
ということで今回は、slackと連携するhubotを3分でインストールしてみます。動画付きです。

#1 slackと連携するhubotを3分でインストールする。(動画付き)← ← 今ここ
#2 slackとhubotを利用してオセロゲームを作ってみる。
#3 slackとhubotでオセロゲーム。とりあえず石を置いてみる。
#4 slackとhubotでオセロゲーム。石をひっくり返す。
#5 slackとhubotでオセロゲーム。華麗なるエンディング? 

某通信会社からは、3秒クッキングという過激な動画が出回っていますが・・・。

3秒クッキング 爆速エビフライ

3秒クッキング 爆速餃子

こちらは、安心・安定・定番の3分インストールをしたいと思います。
(いや、3秒は無理・・・まじで・・・。)

その前に下ごしらえです。料理でも下ごしらえは大切な工程です。
きちんとやっておきましょう。

下ごしらえ

1.slackへhubotと戯れるため用のチャンネルを登録しておく
  今回は、testというチャンネルを作成しました。

image02

2.AWS EC2を作成し起動しておく
今回はAmazon Linuxの一番安いのにしました。

image05

※本当に起動しただけなので、yum updateしろというメッセージが出てますが気にしません。すぐに消しますので!!

さて、準備も終わりましたのでインストール作業開始です。
※一連の作業の動画は、記事の一番下で見ることができます。ぜひ、見てください。

Slack側設定

1.slackでhubotを利用可能にする

  1. 1.左上 チーム名 > team Setting
  2. 2.左メニュー > Imtegrations
  3. 3.Hubotを探して Add

2.hubotを#genaral以外に招待する

  1. 1.招待したいチャンネルを開く
  2. 2.invite others to this channelからHubotを選択
  3.   ※これだけだとアクティブにならないので、不安になるかも

  4. 3.確認方法として、先ほどのhubotの設定画面で確認する。Cannelsのところに追加したチャンネルが表示されているはずです。

前半戦終了です。大体30秒ほどで終わっていますか?
これぐらいで終わらないと3分インストールは厳しいです。

さて、一息つく間もなくサーバーへhubotをインストールしていきます。
こちらは、機械的にインストールしていけば良いかと思います。

サーバー側設定

1.Hubotのインストール

コマンドは、以下の2行でOK!という驚きのお手軽さです。

途中で何回かy / N を聞かれますが、もちろん y 一択です。

【解説】

hubotの動作に必要なものは、node.js と redis です。

hubot自体は、npmで管理されているので、npmもインストールします。
ついでにnode.js redis npmは、epelリポジトリから検索できるのでyumにオプションを付けます。

enablerepoオプションは、普段は利用しない設定になっているリポジトリを一時的に検索対象にするものです。
※Amazon linuxでは、epelリポジトリがはじめから入っているので今回はepelのインストールはしませんでした。

1行のコマンドを分解するとこんな感じ

2行目はnpmからインストールします。
必要なものは、以下の通りです。

  • hubotの本体
  • 命令を書くためのcoffee-script
  • bot作成の作業を簡略化してくれるツールyeoman
  • yeomanが利用するbot作成ジェネレータである generator-hubot

gオプションは、globalインストールオプションで、インストールと同時にパスが通るようになります。
gオプションがないと、カレントディレクトリにインストールされます。

1行のコマンドを分解するとこんな感じ

2.yoコマンドでbot作成!これもまた驚きのお手軽さです。

今回は、navicoというhubotを作成したいと思います。
※ちなみにnavicoとは、showcase-tvの隠しキャラです。

作業は以下の通り
bot用のディレクトリ作成して、yo hubot 打つべし。

yoemanで聞かれる項目にBot adapterがありますのでslackを指定してください。
Owner:
Bot name:
Description:
Bot adapter:

例として

3.環境変数にトークンを設定。

ここでひと手間!環境変数にSlackのトークンを登録する必要があります。

特に難しいことはなくexportコマンドで、HUBOT_SLACK_TOKEN変数に値を設定するだけです。
ちなみにexportコマンドだけで実行すると、環境変数の一覧を見ることができます。

4.slackアダプターでhubotを起動

slackと連携するので、hubotをslackのアダプターを利用し起動します。
adapterオプションにslackを追加します。

bin/hubot –adapter slack

以上で完了です。簡単でしたね。

さて、実行タイムです。

何もスクリプトは入れていませんが、初めから色々入っているので動作の確認はできるかと思います。

例えば、
slackで、hubot名 ping を打つとhubotから PONG と返ってきます。

image03

以下は、インストール動画です。

コメント