This is a Hubot adapter to use with Slack.
npm install hubot -g
hubot --create [path_name]
cd [path_name]
npm install hubot-slack --save
- Initialize git and make your initial commit
- Check out the hubot docs for further guidance on how to build your bot
./bin/hubot
This is a modified set of instructions based on the instructions on the Hubot wiki.
-
Make sure
hubot-slack
is in yourpackage.json
dependencies -
Edit your
Procfile
and change it to use theslack
adapter:web: bin/hubot --adapter slack
-
Install heroku toolbelt if you haven't already.
-
heroku create my-company-slackbot
-
heroku addons:add redistogo:nano
-
Activate the Hubot service on your "Team Services" page inside Slack.
-
Add the config variables. For example:
% heroku config:add HEROKU_URL=http://soothing-mists-4567.herokuapp.com % heroku config:add HUBOT_SLACK_TOKEN=dqqQP9xlWXAq5ybyqKAU0axG % heroku config:add HUBOT_SLACK_TEAM=myteam % heroku config:add HUBOT_SLACK_BOTNAME=slackbot
-
Deploy and start the bot:
% git push heroku master % heroku ps:scale web=1
-
Profit!
This adapter uses the following environment variables:
This is the service token you are given when you add Hubot to your Team Services.
This is your team's Slack subdomain. For example, if your team is https://myteam.slack.com/
, you would enter myteam
here.
Optional. What your Hubot is called on Slack. If you entered slackbot
here, you would address your bot like slackbot: help
. Otherwise, defaults to hubot
.
Optional. If you entered blacklist
, Hubot will not post in the rooms specified by HUBOT_SLACK_CHANNELS, or alternately only in those rooms if whitelist
is specified instead. Defaults to blacklist
.
Optional. A comma-separated list of channels to either be blacklisted or whitelisted, depending on the value of HUBOT_SLACK_CHANNELMODE.
Optional. By default, Slack will not linkify channel names (starting with a '#') and usernames (starting with an '@'). You can enable this behavior by setting HUBOT_SLACK_LINK_NAMES to 1. Otherwise, defaults to 0. See Slack API : Message Formatting Docs for more information.