Slackと連係 †Slack側であらかじめHubotを追加しておきます。具体的には https://[team名].slack.com/apps からHubotを検索して追加。このときに、API Tokenが付与されるのでそれをメモっときます。 Hubot側は、Yeomanで作成したテンプレを起動する際に、環境変数を定義しておけばOK。 $ yo hubot ... ウィザードにしたがって adapterを slackを選択 $ export HUBOT_SLACK_TOKEN=xoxb-xxxxxxxxxx ←上記のSlackの画面でメモった値 $ bin/hubot --adapter slack これでOKです。問い合わせてみるとこんな感じ。 httpモジュールでPOSTする †robot.respond /hoge/i, (res) ->
url = "https://script.google.com/xxxx"
res.http(url)
.query(param1: "value1")
.post() (error, response, body) ->
res.send body
https://github.com/technoweenie/node-scoped-http-client これが使われているっぽい。 requestモジュールでPOSTする †request = require 'request'
url = "https://script.google.com/xxxx"
options =
url: url
method: "POST"
timeout: 2000
followAllRedirects: true
form:{"param1": "value1"}
request options, (error, response, body) ->
console.log response.statusCode
console.log response.headers.location
res.send body
GitHubソースをDockerで動かすコードサンプル †# cat Dockerfile FROM node MAINTAINER masatomix RUN npm install -g yo generator-hubot RUN npm list -g yo generator-hubot RUN useradd bot RUN mkdir /home/bot && chown bot:bot /home/bot USER bot WORKDIR /home/bot RUN git clone https://github.com/masatomix/family-stock-bot.git RUN cd family-stock-bot && npm install WORKDIR /home/bot/family-stock-bot CMD ["bin/hubot", "--adapter", "slack"] これで上記のGitHubに上がってるnodejs向けコードをDocker 内で起動できるイメージを作成できます。コマンドはこちら。 # docker build -t family-hubot . 作ったイメージを動かすコマンドはこちら # docker run -it -v /etc/localtime:/etc/localtime:ro
-e "HUBOT_SLACK_TOKEN=xoxb-xxxxx"
-e NODE_CONFIG='{ "bot": { "gas_url": "https://script.google.com/macros/s/" } }' family-hubot
↑ 環境変数っぽいのはサンプル。ちゃんと入れないとこのコード動きません
なかのプログラムが使用したい環境変数は -e で渡せます。なかのプログラムをそのまま起動させっぱにしときたいときは、 Ctrl + p + q で終了させずに抜けます。 キャッシュを使わないでビルド †# docker build --no-cache -t family-hubot . この記事は 現在のアクセス:3601 |