{"_id":"slack-robot","_rev":"30-e8676a1b098e4efe1ddd5c605a5d38cc","name":"slack-robot","description":"Simple robot for your slack integration","dist-tags":{"latest":"3.2.1"},"versions":{"0.1.0":{"name":"slack-robot","version":"0.1.0","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register"},"repository":{"type":"git","url":"git+ssh://git@github.com/pveyes/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/pveyes/slack-robot/issues"},"homepage":"https://github.com/pveyes/slack-robot#readme","devDependencies":{"babel":"^5.8.20","chai":"^3.2.0","chai-as-promised":"^5.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"b624f6dad62df6f40886d62180be8f129fee8451","_id":"slack-robot@0.1.0","_shasum":"13cc8d683b8432b66a90adc14bce3d44d161ca9f","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"13cc8d683b8432b66a90adc14bce3d44d161ca9f","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-0.1.0.tgz","integrity":"sha512-L5zSxNL19Fwt9qhzG2JSAvP8lH56KMnn8V7Av7DijwyaHQ5Fyzr/Cp+5sf9LAmqEx3e7ZWt2cKncFja/K+xj+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzylCay5n6dfT3MYDXd1TWh1ecAY56LZi4nP43rHkYmAIgCn8N4WKi85Eh1igjwQgUivkQdJnHHzwn3/U/taBht3c="}]}},"0.1.1":{"name":"slack-robot","version":"0.1.1","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"},"repository":{"type":"git","url":"git+ssh://git@github.com/pveyes/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/pveyes/slack-robot/issues"},"homepage":"https://github.com/pveyes/slack-robot#readme","devDependencies":{"babel":"^5.8.20","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"d83c4610cac866e87d26964c189756fae1ab014b","_id":"slack-robot@0.1.1","_shasum":"28a1d52a0295dfee6a3b61519855b97111e1916e","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"28a1d52a0295dfee6a3b61519855b97111e1916e","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-0.1.1.tgz","integrity":"sha512-IZvFF8EYWe9Y4pWL5Ohow+xOjwZeDQKgDaJcTQ8a/9GtHKZW68S7N8XdBTflc7cfq1xQc8iKnd1eNovmnq1WbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFMdf9hScXcjpSNR8frsF5ljMAYf58mlMv2mtKgTJHgQAiEAjDCp4mFqWT94BpHnqrqY5DoX+IV2z8R10UL3Vo0Br1w="}]}},"1.0.0":{"name":"slack-robot","version":"1.0.0","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d src/ lib/"},"repository":{"type":"git","url":"git+ssh://git@github.com/pveyes/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/pveyes/slack-robot/issues"},"homepage":"https://github.com/pveyes/slack-robot#readme","devDependencies":{"babel":"^5.8.20","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"1d577ca14c62d585fa9aeddfe74053d87fb9efbe","_id":"slack-robot@1.0.0","_shasum":"ec924fec9390afe17e7a0ee1af71272e5ae44382","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"ec924fec9390afe17e7a0ee1af71272e5ae44382","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-1.0.0.tgz","integrity":"sha512-cmab+Ief8qTzr/5tcL7Mm2sq1gxiuvCdykhVdoalU1NMKHtYloOnv9+nv6L6ZT4hCV4jGcL3PYU5RBj6P7YY5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYKdcOiBEdqKGPgSd4B00qwblhGT9utMsznrgvgjHYHAIgDDfIkWFHC34MxW1WHJg8UbgfPOMWBg3xCpxi6fT/wE0="}]}},"1.0.1":{"name":"slack-robot","version":"1.0.1","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d src/ lib/ && mkdir -p action && cp src/BaseAction.js action/ && sed -i 's/\\.\\/BaseAction/\\.\\.\\/action\\/BaseAction/g' src/NeuronListener.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/pveyes/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/pveyes/slack-robot/issues"},"homepage":"https://github.com/pveyes/slack-robot#readme","devDependencies":{"babel":"^5.8.20","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"3498382a424b669e1cd75064654fab69f4ae2d41","_id":"slack-robot@1.0.1","_shasum":"86cee387fd4f39e62fe178f93001d4811e134e3e","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"86cee387fd4f39e62fe178f93001d4811e134e3e","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-1.0.1.tgz","integrity":"sha512-klbOYHx+X6717afsktJ85Vn26ie9WpM2vBXtl+toqC4LMEZnOsJAQSFohvdFGKYp8QicvrdJ/5tjBti0uRQMdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrAjclRIx/Ar5IFoFPMcSF2GOUYS6DVBaHxevwcB/NNgIgEh7vIrE9ZL/YGLj/D1Dpy4X8hy//BNTe88bcz43hys4="}]}},"1.0.2":{"name":"slack-robot","version":"1.0.2","description":"Simple robot for your slack integration","main":"src/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d src/ lib/ && mkdir -p action && cp src/BaseAction.js action/ && sed -i 's/\\.\\/BaseAction/\\.\\.\\/action\\/BaseAction/g' src/NeuronListener.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/pveyes/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/pveyes/slack-robot/issues"},"homepage":"https://github.com/pveyes/slack-robot#readme","devDependencies":{"babel":"^5.8.20","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"af07a898aac40b5c27d16dc18275dfdd5c186244","_id":"slack-robot@1.0.2","_shasum":"29743c8a0d5364ee2e557574522f3e545ba53153","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"29743c8a0d5364ee2e557574522f3e545ba53153","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-1.0.2.tgz","integrity":"sha512-9MJ9csMZnR7o8PpPyqb7PblxeN+e4Fkwfq4P97VC46lqdpTqVpffyFQOU/afJNYgKh0b05hD7pjdb6fEMfQW0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLHhnCDR1KnLnK9juWVg+AuYVaHt1fs5GcrERbIh/fbwIgXHD9YHvZ56mb+T2n4hua3fSpMCFSz1HzGWcjsN4lkq4="}]}},"1.0.3":{"name":"slack-robot","version":"1.0.3","description":"Simple robot for your slack integration","main":"src/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d src/ lib/ && mkdir -p action && mv src/BaseAction.js action/ && sed -i 's/\\.\\/BaseAction/\\.\\.\\/action\\/BaseAction/g' src/NeuronListener.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/pveyes/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/pveyes/slack-robot/issues"},"homepage":"https://github.com/pveyes/slack-robot#readme","devDependencies":{"babel":"^5.8.20","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"db284dc76fc58a3054d3fe9bb3680b3912ccd8c2","_id":"slack-robot@1.0.3","_shasum":"f253de37a9e236778f4a6813e60691d3a8f122c4","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"f253de37a9e236778f4a6813e60691d3a8f122c4","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-1.0.3.tgz","integrity":"sha512-P3Bzw0IOws7+TYHS0c2yTAKMv2j467IRcgwhZCync5gIgunHU+lYa5ZwP98b0r6S2xwwjUyFJdebYxUxnC9YkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTp2kelIfrO7Vb9ldpgGCxH3wTm+ixAEmXc6MzXH96OgIgVNy3O2IGcbBybmJyTGOcewK9qjpd1aN5qfdk6kLJNsA="}]}},"1.0.4":{"name":"slack-robot","version":"1.0.4","description":"Simple robot for your slack integration","main":"src/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d src/ lib/ && mkdir -p action && mv src/BaseAction.js action/ && sed -i 's/\\.\\/BaseAction/\\.\\.\\/action\\/BaseAction/g' src/NeuronListener.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"6718d09b4004e5f2ebe35b9604c903fd526c236e","_id":"slack-robot@1.0.4","_shasum":"70484a7d8bf2d6371fa8cc82306f6d285ad8f95d","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"70484a7d8bf2d6371fa8cc82306f6d285ad8f95d","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-1.0.4.tgz","integrity":"sha512-L7br829nZ63rNGIgxI4xwpnASph4P0cXOzYJ5Imm1LTlEEcCr7BIAQ9t5oW+8ulcGIKZQzaeDFT8y1h2uDGSPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuDFZ2gghjhRYBUdRPjhUDu+IhT2378QjCPaYYZquvpAIgRn+QRxsA7GkrYV0+gmJrBn/76vKV2LZZqQtdrKXIp5w="}]}},"2.0.0":{"name":"slack-robot","version":"2.0.0","description":"Simple robot for your slack integration","main":"src/Robot.js","scripts":{"test":"mocha --compilers js:babel/register tests/**/**/*.js","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d src/ lib/"},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"d891b3d75c9e6b0d38e5763a9cc4c45c8f8e244f","_id":"slack-robot@2.0.0","_shasum":"973793537c5f854796a1037d63870151028ff807","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"973793537c5f854796a1037d63870151028ff807","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.0.tgz","integrity":"sha512-k/uQeV/Pw+ITqWI0oop4z0lHzv3T8VYrwSfVv9jkoeQb0/MAFCp3KkGfynOWf3sm6vI9sEdrX9cKfGSXroiAxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGskiLrZQrMUix75BjMqOg3mdLcNXSVfVCaUC19hjZX0AiEAlSs07x+ZwjB1958fnpfdB/QLA6htylQ8RXWcIJAwpTI="}]}},"2.0.1":{"name":"slack-robot","version":"2.0.1","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"8d1a0d29f075e9e6860fa3e35f8ebb52aac7dee6","_id":"slack-robot@2.0.1","_shasum":"d1cce9481276d67338305a9a0aa62f1cada1e233","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"d1cce9481276d67338305a9a0aa62f1cada1e233","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.1.tgz","integrity":"sha512-J9BE9I5Z4/hUI95j0HDbe0tFt7SQywJ3Euina5T3CaRx3ck1d4iAjx8Z7oDfrr9rmXEekRThxSYfb24Mqj7dng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD23erwj2iERdPEAJEyobpO0BiDmeHyuiDysc+kUKyZZQIhAIXZ12fe0fkQ0pqQi8tZUeGGT2iraqfDIUHLTMFlrbL7"}]}},"2.0.2":{"name":"slack-robot","version":"2.0.2","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"9882eb8c52c083aa6414e53bc1703083526a73cf","_id":"slack-robot@2.0.2","_shasum":"5c2b8d038c71809125eaf5c6871310c2f22b7fca","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"5c2b8d038c71809125eaf5c6871310c2f22b7fca","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.2.tgz","integrity":"sha512-segU59VeIzXTcbH6RanIz6YE+2VuwHlqVULI/gU2f4kkO2rSI9vFj2Lfezd7h4Ik1h946sNdq+Zb2qd+VHp/kA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGeWLoUEkoMI3BQzgrG2zZOBkiDLYsC6JQwqbaCGo74sAiEA9d9bEFaO0QfyV0EA1O7ym5YeMsMSz2WSmZ02r3KtObQ="}]}},"2.0.4":{"name":"slack-robot","version":"2.0.4","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"3ec172784170d38454fb875d07254117383b902e","_id":"slack-robot@2.0.4","_shasum":"c14bf064ca6c18a7844364d0ec7be660894b9c2a","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"c14bf064ca6c18a7844364d0ec7be660894b9c2a","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.4.tgz","integrity":"sha512-GO9zaNIrABNz6eEAiRxRRw/5TCxy3r12NY/kxV/cci9KbwBD0MuzE5tASNS8f8ckixtpPnLv4yXdaSgBohw6nQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEl6pbVKQgfvSGm4fPbnGTfDOgUiQLqX6BeMn3QYtVKqAiBlUu/j5SigWf2Yb4qo3BllU9drQ1W8QAuRJVsJxNoJrg=="}]}},"2.0.5":{"name":"slack-robot","version":"2.0.5","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"22564801d565091b3a80fbf91321e3d114cfc55a","_id":"slack-robot@2.0.5","_shasum":"7b0d0b0b16d9e63bfeee5ede579c3f178742adb6","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"7b0d0b0b16d9e63bfeee5ede579c3f178742adb6","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.5.tgz","integrity":"sha512-ARLhXoxUJZR+Tl6E5mHVllGaK1D7eHboFaWTLIZBnzFK6qx6M460QScJlTE7hRWKtIROgJliDM1+vj+PkpCBpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICYpx6/Elu/VDmH/ZYhA/H902rSChbTghXN9KaQYjsnuAiEA9Is2jImeGerns0Znxo7oIVvBORV7z+rb8+nyJ/Lf9R8="}]}},"2.0.6":{"name":"slack-robot","version":"2.0.6","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"f19871f8862dd99fcd25ad621dcbaf91d25be8d1","_id":"slack-robot@2.0.6","_shasum":"ef7888a77bd387e3dbbba3511561a56e25c05844","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"ef7888a77bd387e3dbbba3511561a56e25c05844","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.6.tgz","integrity":"sha512-AtnT0EXWg0x/uZftZILenlhoFCsJUom/i8wu50bB5+iOIP8QJEC5Ie8iRQ7IzjDmMANjzXeZaIoLcocmB8Imig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWKMzx8D2yXnXaOuoQiKhc/+/4o47WFIJk6fkE6+LORgIgYUfT9JDBvZ4MEPQjkPL4U1vUpneWs3kLTwYg5fnClo4="}]}},"2.0.7":{"name":"slack-robot","version":"2.0.7","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"8f2507c9c231e13e2c185d954bc3bd0f615347be","_id":"slack-robot@2.0.7","_shasum":"d2ad14a3837436f8126c5ed1bda7aa66fa317966","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"d2ad14a3837436f8126c5ed1bda7aa66fa317966","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.7.tgz","integrity":"sha512-FfyZzZfg9jPoyKJS/tmslwxQXWFDgbsf2yLGyEC5cC2Has/U9jeA8cXkzAcrN4OGyOzJe7PFyugOgc+X87yksg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoO2QQOJtRx3tiSEdyOJWTR4hOpQ+5+MXX7EYf2NNIVgIgW4rmsU7qRSSagkH9cs9eE4gPymrWcoTDsThTuWUz56s="}]}},"2.0.8":{"name":"slack-robot","version":"2.0.8","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","slack-client":"^1.4.1"},"gitHead":"d3f70331f68d08517617229be3a200a87218b83d","_id":"slack-robot@2.0.8","_shasum":"c59d305e253d69e7e701521797d999bd3593982d","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"c59d305e253d69e7e701521797d999bd3593982d","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.8.tgz","integrity":"sha512-rkm2iTyLrKSZJaC3o4nJJZlSlttpcKW4mEwJ1Hy9wcenuu39aAs8ad4lkVSXEGqTJqh/k05kmaCUkQgy64Qg8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKIPbjNDmBncdTJrs8WoG3XRij4tOi46RItSYjhIlYPwIhANBMHJX++toV9ytAGD4RI4ocNQUZU/lcHgC9whNtmKk+"}]}},"2.0.9":{"name":"slack-robot","version":"2.0.9","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","object-assign":"^4.0.1","slack-client":"^1.4.1"},"gitHead":"4bd2a424f95c0bb8d55c5677c21a8de1b86cfbf5","_id":"slack-robot@2.0.9","_shasum":"f5c83fb037dd59cab37c82c2ba8bb6110a335cb5","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"f5c83fb037dd59cab37c82c2ba8bb6110a335cb5","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.9.tgz","integrity":"sha512-6xiGrhcSlqwMgtxNyNthxrb/Cs18ggTqY62DpI7Rwc3o7OcQ2IQ98YpptCT5h+Ihj3BsYMKLW7gXifXWW7USXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDgOY+g8pT6x1owLUVWfe4PN1veW73Ts6eAuH4XfWjzyAiEAmSnePCjUx+FesMoHClUhAqYna2jadJalJgdWMjFzNCc="}]}},"2.0.10":{"name":"slack-robot","version":"2.0.10","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","object-assign":"^4.0.1","slack-client":"^1.4.1"},"gitHead":"e12058f52828991f550f3accffc8ea371b20d094","_id":"slack-robot@2.0.10","_shasum":"c9aded9db4212590025f5d8f161d71d750719a68","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"c9aded9db4212590025f5d8f161d71d750719a68","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.0.10.tgz","integrity":"sha512-lZsuNIndlXVXjRkkGhTyTP4fPXGXvJMfqCmWB+yx+j7SbuiHuXM1DvIVeQOldzKpxTghDXq2ljCfbHam/y1tWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzDQ32vFtADCSKD7gAi4x4N6EkLjRT0dXNriZaZ9aJ8AIhAKsCVYsN0bmWsfi4n3eTBClutPJBVrPdkIrtmWVwT6Bf"}]}},"2.1.0":{"name":"slack-robot","version":"2.1.0","description":"Simple robot for your slack integration","main":"lib/Robot.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel/register tests/**/**/*.js","test":"npm run lint && npm run unit","coverage":"istanbul cover _mocha tests/**/*.js -- --compilers js:babel/register","coveralls":"istanbul cover _mocha tests/**/*.js --report lcovonly -- --compilers js:babel/register && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel":"^5.8.20","babel-plugin-flow-comments":"^1.0.9","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","istanbul":"^0.3.17","marlint":"^1.1.0","mocha":"^2.2.5","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"bluebird":"^2.9.34","imstore":"^0.1.2","log":"^1.4.0","object-assign":"^4.0.1","slack-client":"^1.4.1"},"gitHead":"249e12843afea1541e1ab885437fdd4259b37e86","_id":"slack-robot@2.1.0","_shasum":"7547451f0b75347e1c43df6818bedceb585ec614","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"7547451f0b75347e1c43df6818bedceb585ec614","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-2.1.0.tgz","integrity":"sha512-Nhx3yxMi32qsuOBCUdI5hqFt+UKt4rgLOtA/HnTK5fS+X59vW5c9NcJ1STq8H0A4JeldHpkdd2ifZHgUbbNsUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfKyuKhwZtP9K0f/3IJSt1+fsTjWsbM3e1EYGuF3nWNQIgXYJ//8vAjBStm6PZs6rgXk3T3SQ/paDmXnvgxxqxxZ8="}]}},"3.0.0":{"name":"slack-robot","version":"3.0.0","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","test":"npm run lint && npm run unit test/**/**/*.js","coverage":"nyc npm test && nyc report --reporter=html","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","coveralls":"^2.11.3","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.2"},"gitHead":"6bc7920ef018200fff71f583e7fa3db8b79252f1","_id":"slack-robot@3.0.0","_shasum":"db564be0f3082a29b5bc76f8f6bf209ce63b7c3d","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"db564be0f3082a29b5bc76f8f6bf209ce63b7c3d","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.0.0.tgz","integrity":"sha512-UpfzdSHGJZqqHjoulf5BDsk2J+KI9CNgw++9nIs1w86O4j7SBBcrC8iuLmUxFwdnpoBiUmn8/KJbQtX4/aRm5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKB43NERyXfLa5xMFy+zKDZGs+W/8EzK30V8ZX4BuykwIgXPDy0NTlqX7SjvJaVxI+xklLBOwhPv3vFvh1ZvFb5wY="}]}},"3.0.1":{"name":"slack-robot","version":"3.0.1","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","test":"npm run lint && npm run unit test/**/**/*.js","coverage":"nyc npm test && nyc report --reporter=html","upload-coverage":"nyc npm test && nyc report --reporter=text-lcov | codecov","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.2"},"gitHead":"b753d7ca566c4ce611a86d0d87f885a98f399a4e","_id":"slack-robot@3.0.1","_shasum":"9981a1be4040bfc3cda13fd2a4480a159929298f","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"9981a1be4040bfc3cda13fd2a4480a159929298f","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.0.1.tgz","integrity":"sha512-aTyAi14bxdMb5efY1OzgOmANUsCPSFe1Pu7YFKTjisVweqGQrOCtMQaNwtELt46HkvPCjFLP7f5hjePbsooKiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTm/GhBImCyundgvF9E0e0ULx/duyGLDtVmZTfwFzOaAIgfE+J7EoNCdEYaNsh2G9gD2A7AULp05E9XO3BYe573J8="}]}},"3.0.2":{"name":"slack-robot","version":"3.0.2","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","test":"npm run lint && npm run unit test/**/**/*.js","coverage":"nyc npm test && nyc report --reporter=html","upload-coverage":"nyc npm test && nyc report --reporter=lcov && codecov","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.2"},"gitHead":"ae724c4f95f29697afeadc0d15aed7dbce297aef","_id":"slack-robot@3.0.2","_shasum":"1dc32261c86276d4138d1e646bb0d28eef2a3578","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"1dc32261c86276d4138d1e646bb0d28eef2a3578","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.0.2.tgz","integrity":"sha512-h8ZgXP7Q/aYVIH9x2TCAw9gOjJc65IqhDjB5vDNBSxpDK2bm7F3GU+uq0Uzd4O5QuHp+Q/weIh+Gs0PW3x4NIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTNZPdfGnSZJDCfnJtqCwzTI8bDyRfLwSk2MK98HhQfgIhANQDjRrtczn5Ftwxz49EhQPx0+E0fq7FhcRLSlGv7Fiv"}]}},"3.0.3":{"name":"slack-robot","version":"3.0.3","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","test":"npm run lint && npm run unit test/**/**/*.js","coverage":"nyc npm test && nyc report --reporter=html","upload-coverage":"nyc npm test && nyc report --reporter=lcov && codecov","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.2"},"gitHead":"e10e5dadd75e9518fa6dd2996d67d3e89593a0ef","_id":"slack-robot@3.0.3","_shasum":"50cd9722af07c3195f89cc845539cdb5387f46ab","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"50cd9722af07c3195f89cc845539cdb5387f46ab","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.0.3.tgz","integrity":"sha512-91z9Lvb4Viz8uvJRjsfJI+/UJkdXNvqtrDtDa3lpKfyBzj/k/oy2e6R1fes6NKbMBLrZrdGRjEKJ5idc6YPwhw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBUE0Jd3T+y0DY/Q0Qc13ezAl4uRgZ3AA4a+DBU2sc2AiEA/m8iPER2MNqREAEfJKJ60mE+tbvR0Z/v18gzyMqaxbY="}]}},"3.0.4":{"name":"slack-robot","version":"3.0.4","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","test":"npm run lint && npm run unit test/**/**/*.js","coverage":"nyc npm test && nyc report --reporter=html","upload-coverage":"nyc npm test && nyc report --reporter=lcov && codecov","prepublish":"babel -d lib/ src/"},"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.9"},"gitHead":"048b30a84aa8ff60470683ae13e7fc011e497319","_id":"slack-robot@3.0.4","_shasum":"2fbfc2ad40f2ed978a2e3a0dcca070ba3ffece3c","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"2fbfc2ad40f2ed978a2e3a0dcca070ba3ffece3c","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.0.4.tgz","integrity":"sha512-wJTsBEbY/j0sjk8b2U9Qoyunf3v4VWJ4lQhLsWMOexBpecjWI70lUWw21nxeKGVtstxok0ZOQO1aXKsQb4cSFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyBGgbIoXZZQvZVA8fDpjXPRLtbNXR+i2hMjpsE0mifwIgNunpwVgMpjZVKA9SVa2/3KC/wnEOzFF7C2VbX168u/U="}]},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/slack-robot-3.0.4.tgz_1455287249291_0.9696204401552677"}},"3.0.5":{"name":"slack-robot","version":"3.0.5","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","test":"npm run lint && npm run unit test/**/**/*.js","coverage":"nyc npm test && nyc report --reporter=html","upload-coverage":"nyc npm test && nyc report --reporter=lcov && codecov","prepublish":"babel -d lib/ src/"},"files":["index.js","README.md","lib/"],"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"babel":{"presets":["es2015","stage-2"]},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.9"},"gitHead":"ce091ac7a3c4f5e201ffdfcf2cc4c372134bbd57","_id":"slack-robot@3.0.5","_shasum":"a0bb9a4ad2d807fd7b396c4150eacd1227a8d91e","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"a0bb9a4ad2d807fd7b396c4150eacd1227a8d91e","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.0.5.tgz","integrity":"sha512-GT2Bq3T6Wpeh4rqBQSecAccpfEqbBGIItEkU1XKAkkNX7rfrVrP5koiHgqBysqP6jmYA6nQXaRq8P5Nd4DXZgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCR5lnSInAjz7Rdejd5ErhubGgWLldSElMk2Y6QTUckfQIhAItVeBgfYy/KHzg9Z7F1EpbyPB/NUxseMqkeLAqWsXJi"}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/slack-robot-3.0.5.tgz_1460992626055_0.441445647040382"}},"3.1.0":{"name":"slack-robot","version":"3.1.0","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","test":"npm run lint && npm run unit test/**/**/*.js","coverage":"nyc npm test && nyc report --reporter=html","upload-coverage":"nyc npm test && nyc report --reporter=lcov && codecov","prepublish":"babel -d lib/ src/"},"files":["index.js","README.md","lib/"],"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"babel":{"presets":["es2015","stage-2"]},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.9"},"gitHead":"6e00b9e0c2453bf65526710eb1c146f266ec85d6","_id":"slack-robot@3.1.0","_shasum":"11fed963a7cb9d0db22e08f4f359600d584c2ee1","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.0","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"dist":{"shasum":"11fed963a7cb9d0db22e08f4f359600d584c2ee1","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.1.0.tgz","integrity":"sha512-Y/Ey/ueSoP1FdCb+ZYpSzgJn7mMNkcdbzk1M/suELL2D7vIb3StLw6lYWVjFLePGZNcUmPVhMZoId/X7egaI6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFoH/H2qWBrRXzJYCVPnV8gLqcA6wcs9CTQNbfNUw1GAiEAiN4D8gdqXF8NSNmCGcYnO0n2Cyb3ze1mxkZLWORwxV4="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/slack-robot-3.1.0.tgz_1461144855002_0.8124033256899565"}},"3.2.0":{"name":"slack-robot","version":"3.2.0","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","unit:all":"npm run unit test/**/**/*.js","test":"npm run lint && npm run unit:all","coverage":"nyc npm run unit:all && nyc report --reporter=html","upload-coverage":"nyc npm run unit:all && nyc report --reporter=lcov && codecov","prepublish":"babel -d lib/ src/"},"files":["index.js","README.md","lib/"],"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"babel":{"presets":["es2015","stage-2"]},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.9"},"gitHead":"4baa4b0b50b5bd90306f31b07ab24b548dc3c118","_id":"slack-robot@3.2.0","_shasum":"0529831111b7c20d855a3e003c9f34bf8aa6e58f","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.3","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"dist":{"shasum":"0529831111b7c20d855a3e003c9f34bf8aa6e58f","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.2.0.tgz","integrity":"sha512-2+/c4lxv75YxusaQcZoisOmBDnRaJrqpSaCDyBoAVjOS9qMglqOL+Tz8LDIGGNk2nctxNcnOQXCjgx/pJ0jsmg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7qBLZE/9FvlD/R5s98qqZdeHCTLzwHfUg9kbB1om15AiEAmc00hu3UvaR7sMT/0JlrfIuxrZzA+LxVXN8tO9lSeOo="}]},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/slack-robot-3.2.0.tgz_1462272367057_0.9773608595132828"}},"3.2.1":{"name":"slack-robot","version":"3.2.1","description":"Simple robot for your slack integration","main":"index.js","scripts":{"lint":"marlint src/**/*.js","unit":"mocha --compilers js:babel-core/register","unit:all":"npm run unit test/**/**/*.js","test":"npm run lint && npm run unit:all","coverage":"nyc npm run unit:all && nyc report --reporter=html","upload-coverage":"nyc npm run unit:all && nyc report --reporter=lcov && codecov","prepublish":"babel -d lib/ src/"},"files":["index.js","README.md","lib/"],"marlint":{"ignores":["lib/*.js","tests/*.js"],"rules":{"no-fallthrough":0}},"babel":{"presets":["es2015","stage-2"]},"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"keywords":["slack","robot"],"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"homepage":"https://github.com/traveloka/slack-robot#readme","devDependencies":{"babel-cli":"^6.4.0","babel-core":"^6.4.0","babel-preset-es2015":"^6.3.13","babel-preset-stage-2":"^6.3.13","chai":"^3.2.0","chai-as-promised":"^5.1.0","codecov":"^1.0.1","marlint":"^1.1.0","mocha":"^2.2.5","nock":"^5.2.1","nyc":"^5.3.0","sinon":"^1.15.4","sinon-chai":"^2.8.0"},"dependencies":{"async":"^1.5.2","bluebird":"^2.9.34","eventemitter3":"^1.1.1","lodash":"^4.0.0","log":"^1.4.0","node-uuid":"^1.4.7","request":"^2.67.0","slack-client":"^2.0.0-beta.9"},"gitHead":"e29b1a2397339cf8cc0392669f1435b23c36af1c","_id":"slack-robot@3.2.1","_shasum":"bcfe862055aa59251a80035f4ff04f16efba34cb","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"pveyes","email":"fatih@pveyes.me"},"dist":{"shasum":"bcfe862055aa59251a80035f4ff04f16efba34cb","tarball":"https://registry.npmjs.org/slack-robot/-/slack-robot-3.2.1.tgz","integrity":"sha512-m6SM9h37QpaI2CN/FF3FWky4SYSCkkas2HdBOKdr4RW2UUD442MctDs47d4B+JD0mXlDYoeimlgVw7cCXhHzig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEWVF3z3csVvb27i27vq2vaWKlV59gakAoA2rJjId7aEAiEAyfJmib2bPNITpeqHdC3De6mrPbHsxMpH8XE2d04glZ4="}]},"maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/slack-robot-3.2.1.tgz_1469701646888_0.46789271105080843"}}},"readme":"# slack-robot [![Build Status](https://travis-ci.org/traveloka/slack-robot.svg)](https://travis-ci.org/traveloka/slack-robot) [![codecov.io](https://codecov.io/github/traveloka/slack-robot/coverage.svg?branch=master)](https://codecov.io/github/traveloka/slack-robot?branch=master) [![Package Version](http://img.shields.io/npm/v/slack-robot.svg)](https://www.npmjs.com/package/slack-robot)\n> Simple robot for your slack integration\n\n`slack-robot` initially built to respond message from user with an action, then replying\nwith a response. While hubot will do the job, it's too generic (no slack specific response like reaction, snippet, attachment, or listening to slack specific event). Using hubot also mean learning hubot specific command, using the right adapter, using the right slack-client, and patching them with slack specific event\n\nWhile modularity is good, we're not sure about using multiple module with exponentially\nlarger bug possibility (and also broader learning material). Because we are using it in critical application, we need to make sure that the API surface is as little as possible, with near perfect test coverage. With that in mind, we built slack-robot by wrapping \"official\" slack-client into much easier to consume request-response handling library.\n\n## Features\n\n- Simple request response handler\n- Normalize Slack API idiosyncrasy, for example:\n  - listening to reaction_added event using Slack RTM will trigger event handler regardless the message and channel (even the channel the bot not joined)\n  - uploading binary file is not possible (yet)\n- Send response (or payload) without having to listen to event (external trigger)\n- Access Control List (ACL) for each listener (only respond to message when fulfill specific criteria)\n- Extensible via plug-ins (for example [storing state](https://github.com/pveyes/slack-robot-state))\n- [Complete control](#handling-the-unexpected) over what happen to your request and response\n\n## Installation\n```sh\n$ npm install slack-robot --save\n```\n\n## Usage example\n```js\nvar SlackRobot = require('slack-robot');\nvar robot = new SlackRobot(process.env.SLACK_TOKEN);\n\n// will post 'world' text as bot when receiving 'hello' message\n// in channel, group, or direct message\nrobot.listen('hello', function (req, res) {\n  return res.text('world').send();\n});\n\n// ignore message from '#general' channel, even if it matches the listener\nrobot.ignore('#general');\n\n// start listening\nrobot.start();\n```\n\n## Parameterized message\n\nYou can also listen to dynamic message by using parameterized message (usually called named-regexp), by using `:name(REGEXP)` syntaxes. All parameters will be available via `req.params`\n\n```js\n// send 'get sheep from 2010' to your bot\nrobot.listen('get :animal([a-z\\-]+) from :year([0-9]{4})', function (req, res) {\n  console.log(req.params)\n  // { animal: 'sheep', year: 2010 }\n});\n```\n\n## Pure regular expression (regexp) listener\n\nAside from named regexp (which uses a partial regexp match), you can use pure regexp inside your listener. The difference is, instead of getting an object in `req.params`, you get Array of regexp matches in `req.matches`\n\n```js\n// send 'get sheep from 2010' to your bot\nrobot.listen(/get ([a-z]+) from ([0-9]{4})/, function (req, res) {\n  // you don't have anything in named-param\n  console.log(req.params)\n  // {}\n\n  // you use req.matches instead\n  console.log(req.matches);\n  // ['sheep', '2010']\n})\n```\n\n## Request & response life cycle\n\nIn `slack-robot`, receiving and sending message is handled via `Request` and `Response` object. Every time your bot receive a chat, you get `Request` object with typedef below\n\n```\ntype Request = {\n  message: {\n    type: string\n    value: {}\n  },\n  from: {\n    id: string,\n    name: string\n  },\n  to: {\n    id: string,\n    type: string, (channel, group, or dm)\n    ?name: string // missing if direct message\n  }\n  params: {},\n  matches: []\n}\n```\n\nFor example when you `@anonymous` send the bot `@hola` message `get sheep from 2010 @hola` in `#general` channel\n\n```js\nrobot.listen('get :animal([a-z\\-]+) from :year([0-9]{4})', function (req, res) {\n  console.log(req);\n  // message: {\n  //   type: 'text'\n  //   value: {\n  //     text: 'get sheep from 2010'\n  //     mentioned: true\n  //   }\n  // },\n  // from: {\n  //   id: 'your_random_id',\n  //   name: 'anonymous'\n  // },\n  // to: {\n  //   id: 'random_channel_id',\n  //   name: 'general',\n  //   type: 'channel'\n  // },\n  // params: {\n  //   animal: 'sheep',\n  //   year: '2010',\n  // },\n  // matches: []\n});\n```\n\nTo respond a message, use `res` object. You can respond multiple times as you want\n\n```js\nrobot.listen('yo', function (req, res) {\n  /**\n   * Send text\n   *\n   * @param {string} text\n   */\n  res.text('what\\'s up?');\n\n  /**\n   * Send attachment\n   *\n   * @param {string} text in attachment\n   * @param {Array<Object>|Object}\n   * @see https://api.slack.com/docs/attachments\n   */\n  res.attachment(text, attachment);\n\n  /**\n   * Send file\n   *\n   * @param {string} filename\n   * @param {string|ReadStream} content\n   * @see https://nodejs.org/api/fs.html\n   */\n  res.upload('snippet.txt', fs.createReadStream('snippet.txt'));\n\n  /**\n   * Add reaction to the message\n   *\n   * @param {string} reaction emoji\n   */\n  res.reaction(':+1:');\n\n  /**\n   * Always end your handler by returning res.send\n   */\n  return res.send();\n});\n```\n\nUntil you call `res.send()`, your message will not be sent. By calling\n`res.send()`, it will queue all your response and send them in series. To change this behavior,\nchange `concurrency` property from robot:\n\n```js\n// send 3 response in parallel (this will affect all listener)\n// keep in mind that enabling concurrency means the order of the\n// message is not guaranteed\nrobot.set('concurrency', 3);\n```\n\n## Custom response target\n\nTo respond in another channel/im, simply pass the last argument to `.text()`,\n`.attachment()` or `.upload()`, with channel name `#general`, group name `private-group`,\nor user name `@anon`, or use an array of string to send multiple target:\n\n```js\nrobot.listen('yo', function (req, res) {\n  res.attachment('here', attachment, '#general');\n  res.upload('document.doc', file, '@anon');\n  res.text('done!', ['#general', '@anon']);\n\n  // end your request\n  return res.send();\n});\n```\n\n**NOTE: You cannot use custom response target when adding reaction**\n\n## Asynchronous response\n\nSometimes you want to do some asynchronous task before sending back response, you can\nuse `res.async()` which accept a callback that receive `send` function as argument.\nTo end your asynchronous task call `send()` without any argument. If your asynchronous\ntask failed, call `send()` with an error object:\n\n```js\nrobot.listen('deploy', function (req, res) {\n  res.text('executing scripts..');\n\n  return res.async(function (done) {\n    childProcess.exec('~/scripts/deploy --to production', function (err, stdout, stderr) {\n      if (err) {\n        // return to stop code for reaching res.text\n        return done(err);\n      }\n\n      // use res.text like usual\n      res.text('done, printing stdout:');\n      res.text(stdout);      \n      done();\n    });\n  // call .send() to send all previous response declared in asynchronous task\n  }).send();\n})\n```\n\n**NOTE: Calling `res.send()` after `res.async()` doesn't send all the response,\nbecause `res.send()` is synchronous. Make sure you call `res.async().send()`\nto send the response**\n\nIf you already use Promise, you can return your Promise chain instead of using\n`res.async`\n\n```js\n// es2015 code style\nrobot.listen('deploy', (req, res) => {\n  return deployer().then(output => {\n    res.text('done, printing output:');\n    res.text(output);\n    return res.send();\n  })\n});\n```\n\n## External trigger\n\nYou can also send message without having to listen to any message. This is particularly\nuseful when combined with another service that run asynchronously (for example error\nreporting). Use `robot.to()` to get the response object\nyou usually use when responding message\n\n```js\nvar ws = require('websocket');\n\nws.on('message', function (msg) {\n  // robot.to() is asynchronous by nature because we need to make sure\n  // the bot is connected before you able to send the message\n  // hence the use of the callback to get the response object\n  robot.to('@anon', function (res) {\n    res.text('Hi anon, you got a message');\n    res.text(msg);\n    return res.send();\n  });\n});\n```\n\n**NOTE: .reaction() and .async() cannot be used here**\n\n## Handling the unexpected\n\nslack-robot will emit event if something happened. Below is the list of events\nyou can listen to:\n\n- `message_no_sender`, when you receive a message without user information\n- `own_message`, when you receive a message from bot itself\n- `ignored_channel`, when you receive a message in channel that you ignore via `robot.ignore`\n- `no_listener_match`, when you receive a message without matching listener\n- `response_failed`, when failed sending a **single** response\n- `request_handled`, when a request has been handled\n- `error`, general error, usually if your listener callback has uncaught exception\n\nTo listen specific event, use `robot.on(message, callback)`. Most event will receive\nmessage object, except `response_failed` and `error` event which receive error object\ninstead, `request_handled` which receive request object, and `message_no_sender` which receive original message object from slack API\n\n```js\nrobot.on('error', function (err) {\n  // print to stderr, or sent to error reporting service\n  console.error(err);\n});\n```\n\n## Help command generator\n\nWhen you have many listener, you sometimes forget all your listeners. You can see it\nby enabling help generator which will sent you all your listeners. Enable it using `robot.set('help_generator', true)` (it's disabled by default). It will add another listener that will listen to all text message containing \"help\". So if you send message\nto the bot \"show help\" or \"help\", it will send you the command list.\n\n## License\n\nMIT\n","maintainers":[{"name":"pveyes","email":"fatih@pveyes.me"}],"time":{"modified":"2022-06-26T20:47:19.645Z","created":"2015-08-05T19:01:57.075Z","0.1.0":"2015-08-05T19:01:57.075Z","0.1.1":"2015-08-05T20:11:12.259Z","1.0.0":"2015-08-05T22:57:47.119Z","1.0.1":"2015-08-05T23:38:40.238Z","1.0.2":"2015-08-05T23:53:11.421Z","1.0.3":"2015-08-06T09:01:01.941Z","1.0.4":"2015-08-11T12:02:09.718Z","2.0.0":"2015-08-13T10:34:41.349Z","2.0.1":"2015-08-14T03:23:52.736Z","2.0.2":"2015-08-25T13:17:07.668Z","2.0.4":"2015-08-25T14:40:15.745Z","2.0.5":"2015-08-26T09:56:11.513Z","2.0.6":"2015-09-09T05:56:18.476Z","2.0.7":"2015-09-28T10:28:03.823Z","2.0.8":"2015-11-18T08:52:09.062Z","2.0.9":"2015-12-14T13:32:38.211Z","2.0.10":"2015-12-15T07:31:33.483Z","2.1.0":"2016-01-05T05:00:58.788Z","3.0.0":"2016-01-19T13:00:29.640Z","3.0.1":"2016-01-24T07:49:03.697Z","3.0.2":"2016-01-30T15:47:48.121Z","3.0.3":"2016-02-01T04:10:54.999Z","3.0.4":"2016-02-12T14:27:30.842Z","3.0.5":"2016-04-18T15:17:08.281Z","3.1.0":"2016-04-20T09:34:15.406Z","3.2.0":"2016-05-03T10:46:09.540Z","3.2.1":"2016-07-28T10:27:27.130Z"},"homepage":"https://github.com/traveloka/slack-robot#readme","keywords":["slack","robot"],"repository":{"type":"git","url":"git+ssh://git@github.com/traveloka/slack-robot.git"},"author":{"name":"Fatih Kalifa","email":"fatihkalifa@gmail.com"},"bugs":{"url":"https://github.com/traveloka/slack-robot/issues"},"license":"MIT","readmeFilename":"README.md","users":{"thbaumbach":true}}