2019年3月5日火曜日

Hubotの設定

概要

仕事のSlackのワークスペースを作成したので、そこにbotを使って作業効率を上げようと考えた。実際のところ、チャネルごとに発言をしてハッシュタグのようなゆるい分類を入れる仕組みが作りたい。以下のサイトのようなもの。

Slackにハッシュタグ的な「ゆるく情報をまとめる方法」が欲しかった話 - コネヒト開発者ブログ

そのためには、hubotをHerokuにデプロイして、CoffeeScript(かJS)でbotを記述しないといけないようだ。色々調べながらチャレンジ。


Hubotのドキュメント(英文)



Windows 10のネイティブでビルドしたためnode.jsやgitはChocolatelyパッケージマネージャを使った。
そのため、HubotのAPIキーを環境変数にセットする際に、管理者権限を持つPowerShellでセットする必要が出た。長いコマンドで面倒^^;

[System.Environment]::SetEnvironmentVariable("HUBOT_SLACK_TOKEN","HubotのAPIキー")


このWindowsでの環境変数のセットについては以下のサイトに説明がある。
WSLをインストールしてbashで操作したほうがよっぽど楽だ。

以下、slackのアダプタ実行(ローカルテスト)とherokuのアプリとの連携(?)
.\bin\hubot --adapter slack
heroku git:remote -a hubotuse2

ビルドの際にnode.jsとnpmのバージョンをローカルPCのものに統一する
  "engines": {
    "node": "11.10.1",
    "npm": "6.7.0"
  }

git add .\package.json

以下、botのスクリプトをVSCodeで編集&保存した後にデプロイする流れ。
git add .\scripts\hubotuse2.coffee
git commit -m 'コミットの際のメッセージ'
git push heroku master


botスクリプトはCoffeeScriptで書くのが普通らしいので、文法などを調べた
Gitのコマンドも忘れがちなのでこちらなどを見た。