iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

社内で利用するYammerにbotを作りたかった(環境構築編)

ローテーション2周目突入!

早いもので通算31回目の投稿になります。こんにちは、こんばんは、abikoです。
社員ブログが始まりローテーションが一回りしました。
いつも見て下さっている皆様ありがとうございます。
自己紹介も一通り終わり、新たなステージの始まりです。
今後も定期的に話題を発信していきますので引き続き本ブログをよろしくお願いします。

社内で利用するYammerにbotを作りたい!

さて、いきなりですが現在弊社では社内の意思伝達にYammerというSNSを利用しています。
(社内限定Twitterのようなもの)
今回はそのYammerを便利にするbotを作成しよう!という趣旨です。(アバウトですね)
botには様々種類があるようですが、今回は「Hubot(ひゅーぼっと)」を利用します。

bot選びは社の先輩のアドバイスをそのまま利用しています。
 実はプログラムやってる人らしくブログ(趣味でコードガリガリ)を一度書いてみたかっただけなんです。
 かっこいいじゃないですか、そういうの...

botで何ができるか

botというと私はTwitterbotがぱっと思い浮かびます。
定期的に何かを呟いているアレです。

「Hubot」では繰り返しつぶやく以外にも様々な動作をさせられるようですね。
→Hubotは動作をスクリプトで記述するため、プログラムで実行可能なことは大体できてしまうみたいです。

・テキストに反応してテキストを返す
TwitterのURLから発言内容を表示
・サーバの負荷が上がった場合に通知
etc...

どんなbotがあったら便利かという肝心なところがないまま進んできてしまっていますが、
開発できる土壌を作りつつ考えていくことにします。
今回のゴールは小さめにYammerに定番の"Hello World"を発信できるbotを配置することです!

だったのですが...

環境を作るに一苦労...
この際連載にしてしまい、今回は環境構築編とすることにしました。(汗)

インストールと環境作成

以下のサイト様の通りにインストール
Node.js と npm のインストール方法(Windows編) - Node塾

これだけ?のはずが、なぜこれほどまでに時間がかかったんでしょう...
将来の自分が躓かないようにメモを残します。

※私は今回 Windows7 64bit に対してインストールを行いました。

躓きポイント①
◆事前準備としてPythonとGitが必要
PythonPython Release Python 2.7.10 | Python.orgWindows x86-64 MSI installer)
Git→①msysgitを先にインストール
    Git for Windows
  →②TortoiseGitをインストール
    Download – TortoiseGit – Windows Shell Interface to Git(for 64-bit OS)
  →③TortoiseGit日本語化パッチ(②同ページ下部にリンク有り)

Gitのインストールと設定の参考サイト様→
Gitのインストール【チュートリアル1 Gitの基本】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
(※私は「新しいリポジトリを作成する」までの設定を行いました。)

躓きポイント②
◆Node.js と npm のインストール
そもそもNode.jsとnpmが何かをわかっていなかった...
Node.js
いまアツいJavaScript!ゼロから始めるNode.js入門〜5分で環境構築編〜

一言で言うとアツいJavaScriptです。

npm
npmでnode.jsのpackageを管理する - Qiita

npmとは?
npmはnode.jsのpackageを管理するためのツールです。
node.js自体はJavaScriptで出来たWeb Serverですが、frontendを管理するためのtoolもたくさんあります。
npmはnode.jsのpackageを管理すためのツールです。
Javaが分かる方は、mavenのようなものだと想像していただければ、分かりやすいかと思います。

Hubot導入と起動

さあここまで来たら後は簡単!と思っていたらバージョンが新しくなり、
参考にしていたサイト様に載っていたコマンドとは違うコマンドが現在奨励されている模様です。

npm install -g yo generator-hubot
mkdir -p myhubot
cd myhubot
yo hubot

上記の順にコマンドを叩いていきます。
最後のコマンドによって、botの初期設定が起動します。
f:id:ipx-writer:20150819043332p:plain
初期設定の問いOwner、Bot name、Description、は初期設定のまま進めました。
Bot Adapterのみ、Yammerで利用することを考え入力しました。

何やら怪しげなAAが出現しますが公式です。
キャラクターデザイン?がしっかりあります。
HUBOT

設定後、「hubot」ファイルを実行することで、念願のHubotさんが起動します。
※myhubotフォルダをカレントフォルダにした状態で実行してください。
(hubotファイルの中身に相対パスが書かれているため)

起動が確認できたら以下のサイト様を参考に hello.coffee ファイルを作成し、
myhubot(設定した名前)に声をかけてみます。
第2回 インストールとHello World:GitHub社謹製! bot開発・実行フレームワーク「Hubot」|gihyo.jp … 技術評論社

"hello"と返答があり無事環境構築完了です!
f:id:ipx-writer:20150819044726p:plain

終わりに

長くなりましたが、お付き合い頂きありがとうございました。
次回はついに実際のbotの作成に取り掛かれる...はずです。
どんなbotがあったら便利なんでしょうか。
おっと、その前にまずは"Hello World"ですね。

それではまた次回お会いしましょう!
(参考にさせて頂いたサイト様に感謝!)