You may want to watch Your First Slack Bot Service video first.
Ensure that you can build the project and run tests. You will need these.
- MongoDB
- Firefox
- Geckodriver, download,
tar vfxz
and move to/usr/local/bin
- Ruby 2.3.1
bundle install
bundle exec rake
Create a Slack team here.
Create a test app here. This gives you a client ID and a client secret.
Under Features/OAuth & Permissions, configure the redirect URL to http://localhost:5000
.
Add the following Permission Scope.
- Add a bot user with the username @bot.
Create a .env
file.
SLACK_CLIENT_ID=slack_client_id
SLACK_CLIENT_SECRET=slack_client_secret
If you want to test paid features or payment-related functions you need a Stripe account and test keys. Add to .env
file.
STRIPE_API_PUBLISHABLE_KEY=pk_test_key
STRIPE_API_KEY=sk_test_key
$ foreman start
08:54:07 web.1 | started with pid 32503
08:54:08 web.1 | I, [2017-08-04T08:54:08.138999 #32503] INFO -- : listening on addr=0.0.0.0:5000 fd=11
Navigate to localhost:5000.
To test interactive buttons locally you need ngrok to tunnel to localhost:5000
.
ngrok http 5000
This will give you a forwarding HTTPs URL, such as https://a740cdc9.ngrok.io -> localhost:5000
.
Enter https://a740cdc9.ngrok.io/api/slack/action/
in the Slack Interactive Messages
configuration section of your app under Request Url
.
- Create a new project on https://console.developers.google.com
- Click
Enable APIs and Services
- Look for
Google Calendar API
, chooseEnable
- Choose
Add Credentials
, accessingUser Data
viaGoogle Calendar API
viaWeb Browser (Javascript)
- Answer remaining questions and
Create a Client ID
- Set
GOOGLE_API_CLIENT_ID