03


参考書籍
http://qiita.com/bouzuya/items/11c0c6da2b3ad54b827f#hubot-echo
http://qiita.com/mochidamochiko/items/29c2d77715d8a1ff062a
http://qiita.com/bouzuya/items/4c0206d72ff22ade9339

ボットを作成するには「hubot」と言うソフトを使う必要がある為、インストールしました。




hubotはnpmでインストールすることが出来る。

$ npm install -g yo generator-hubot

npm WARN deprecated CSSselect@0.4.1: the module is now available as 'css-select'

npm WARN deprecated CSSwhat@0.4.7: the module is now available as 'css-what'

npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue




Yeoman Doctor

Running sanity checks on your system


Global configuration file is valid

Node.js version

No .bowerrc file in home directory

No .yo-rc.json file in home directory

npm version

NODE_PATH matches the npm root





最終的に下記の様な文言が出力されればインストール成功となる。

Everything looks all right!

/Users/UserName/.nvm/versions/node/v6.10.0/lib

├── generator-hubot@0.4.0 

└── yo@2.0.0 



ボットを作成する。(名前をurとする。)

$ mkdir ur
$ cd ur
$ yo hubot

下図の様になる。
名前やアダプターなどを設定することになるが、無記入でも進む。

48



カレントディレクトリを調べると以下の通りになる。

$ ls

Procfile              external-scripts.json package.json

README.md             hubot-scripts.json    scripts

bin                   node_modules


hubotの起動は以下の通りにする。

~/MyFolder/pg/ur $ ./bin/hubot -a shell -n ur

ur> [Sun Jun 25 2017 18:06:06 GMT+0900 (JST)] WARNING Loading scripts from hubot-scripts.json is deprecated and will be removed in 3.0 (https://github.com/github/hubot-scripts/issues/1113) in favor of packages for each script.


Your hubot-scripts.json is empty, so you just need to remove it.

[Sun Jun 25 2017 18:06:06 GMT+0900 (JST)] ERROR hubot-heroku-alive included, but missing HUBOT_HEROKU_KEEPALIVE_URL. `heroku config:set HUBOT_HEROKU_KEEPALIVE_URL=$(heroku apps:info -s  | grep web-url | cut -d= -f2)`

[Sun Jun 25 2017 18:06:06 GMT+0900 (JST)] INFO hubot-redis-brain: Using default redis on localhost:6379


基本的には自分がコマンドなどを入力したら、hubotmがレスポンスを返す。
他にもこんなコマンドを打つことが出来る。

35



下記のライブラリをインストールすると、入力した文言に応じたレスポンスを返すことが出来る。(現状1つだけ)
$ npm install --save bouzuya/hubot-hello-world
ur@0.0.0 /Users/fandm/MyFolder/pg/ur
└── hubot-hello-world@1.0.0  (git://github.com/bouzuya/hubot-hello-world.git#e57a6bdce556046456fd4930485174ed8e9dde39)

「external-scripts.json」に追記する。
$ vim external-scripts.json

  1 [
  2   "hubot-diagnostics",
  3   "hubot-help",
  4   "hubot-heroku-keepalive",
  5   "hubot-google-images",
  6   "hubot-google-translate",
  7   "hubot-pugme",
  8   "hubot-maps",
  9   "hubot-redis-brain",
 10   "hubot-rules",
 11   "hubot-shipit"
 12   "hubot-hello-world"
 13 

実施すると、

ur> ur hello

ur> World!


scripts/example.coffeeファイルに以下の通りに記述すると、
hubotがレスポンスを設定出来る。

 10 

 11 module.exports = (robot) ->

 12     robot.respond /hey/i, (msg) ->

 13         msg.send 'こんにちはー。お元気ですか?'

 14 



実施すると、

ur> ur hello

ur> World!

ur hey

ur> こんにちはー。お元気ですか?



以上です。
実用的にするにはherokuを覚えた方が良いか。ただ、無料サービスが制限かかったとのことで、最優先すべきことではないか。