15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Slack その2Advent Calendar 2016

Day 2

Slackでhubotを運用している人に捧げる、hubotのscriptの作り方

Posted at

コードの書き方

yo hubot:script

Yeomanがhubotのscriptの雛形を生成してくれます。
生成された雛形はNode.jsのパッケージの形になっています。

image

src/*.coffee スクリプトはここに書きます。
test/*-test.coffee テストコードはここに書きます。

テストのやり方

npm test

image

最初からGruntとMochaが用意されていて、テストコードが書けます。
テストを書けば、毎回hubotを起動して何かを発言、レスポンスを確認なんて事をしなくて済むので便利ですね。

デプロイ

運用しているHubotに、作ったパッケージをインストールします。
Yeomanで作ったスクリプト雛形はNode.jsのパッケージ雛形になっているので、npmコマンドでインストールできます。

npm install 作成したパッケージ --save

image
image

なお、作成したパッケージをGithubに上げておけば
npm install githubname/reponame
なんてコマンドも使えるので便利です。
もちろんnpmにパッケージを公開してもいいと思いますし、フォルダからインストールも出来るようです。
マニュアルはこちら。install | npm Documentation


パッケージをインストールするだけではHubotが読み込んでくれないので
image
インストールしたパッケージをexternal-scripts.jsonに記述します。

image

手元で動作確認を行ってみました。
インストールしたパッケージはhubot-webshotです。手前味噌です。

#まとめ
いかがでしたでしょうか。yo hubot:scriptを使えば、hubot本体のscriptsディレクトリにコードが散乱せず、綺麗に統治分割出来ると思います。
特にテストを書けるのが良いと思います。
テストに対する初期の学習コストは高いと思いますが、手動デバッグをすることに比べて、長い目を見れば元を取れるでしょう。
image

スノーボード行きたい。

15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?