イモケンピウスの辞書

脳の記憶容量がフロッピーディスク2枚分しかないのでここに残しておくことにしました。Android、Unityについての記事が多いです

Typetalk用Botを作成する ~hubot入門その1~

環境 Mac OS X 10.10.5

備忘録です。 Typetalkとはメッセージのやり取りを行うチャットサービスです。

Botとは人間に変わって作業を定期実行してくれるプログラムのことで Twitterなんかでは定期的になにかしらつぶやくアカウントのことをBotと呼びます。

今回はGit hub が公開しているチャットBot作成フレームワークhubotを使用して、

  • 9時に「おはよう」
  • 5時半に「お疲れさまでした」
  • 毎週月・木に「今日は燃えるゴミの日です」

と、Typetalkに書き込みをするBotをHeroku上に作成します。 今回はTypetalk上で書き込みをするとローカルで実行したBotが反応してくれるところまで。

ボットが使用するTypetalkアカウントを作成する

  1. ここからTypetalkアカウントを作成
  2. ここからbot用のアプリ設定
    • アプリケーション名を入力して「登録」
    • 「Client ID」と「Client Secret」をコピペ準備
  3. テスト用のトピックを作成しBotアカウントを招待

Macターミナルでhubot環境

Homebrewインストール

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

node.jsとRedisインストール

brew install node redis
sudo npm install npm -g

hubot yeoman generatorインストール

npm install -g yo generator-hubot

作業用ディレクトリ作成

mkdir bot
cd bot

ひな形をyoemanで生成する

yo hubot

↑このコマンドを実行するといくつか質問が表示される

Bot adapterについて以外はEnter

Bot adapterで"typetalk"と入力。 ↓こんなかんじ。Bot nameも覚えとく。

? Owner namae <meado@mail.com>
? Bot name bottyan
? Description A simple helpful robot for your Company
? Bot adapter (campfire) typetalk

Redisサーバー起動

redis-server /usr/local/etc/redis.conf

hubot起動

bin/hubot

hubotが起動したら↑の質問で聞かれたBot name + コマンドでhubotを操作できるようになる。 今回の場合、

bottyan>

こんな感じに待機状態になるので

bottyan> bottyan help

でhelp内容が表示されたら成功

Typetalkとの連携をローカル環境で行う。

export HUBOT_TYPETALK_CLIENT_ID='クライアントID'
export HUBOT_TYPETALK_CLIENT_SECRET='クライアントシークレットキー'
export HUBOT_TYPETALK_ROOMS='トピックのID'
bin/hubot -a typetalk

実際にTypetalkに "bottyan help"と入力してhelp内容が先ほどと同じように表示されたら成功!