jia/README.md
2020-08-04 02:05:17 -07:00

1.5 KiB
Raw Permalink Blame History

🦉 Jia

Keeping an eye on the Hack Club Slacks #counttoamillion channel.

Setup

Creating the Slack app

Youll need to create a Slack app (not a classic one) with at least the following bot token scopes. The reasons each scope is required are also included:

  • channels:history (or groups:history, if its a private channel): Used to listen to messages sent.
  • chat:write: Used for sending messages.
  • reactions:write: For reacting to invalid messages.

Then youll need to subscribe the app to a few events. The server has an endpoint open at /slack/events, so when youre asked for a request URL, just put https://<SERVER>/slack/events. Only the following events are needed:

  • message.channels (or message.groups if its a private channel)

Environment variables

Here are all the variables you need to set up, with hints.

# The port to run the app server on
PORT=3000
# Redis database to store the last number and its sender
REDIS_URL=redis://…
# App config. Obtained from the "Basic Information" page of your app.
SLACK_BOT_TOKEN=xoxb-…
SLACK_VERIFICATION_TOKEN=xxxx…
# The channel where Jia should validate counted numbers in.
SLACK_CHANNEL_ID=C…

Deploying

# Run it…
make

# …or build a binary and run that instead
make build
./bin/jia

After youve followed all the above steps, you should see something like this:

Starting Jia…
Listening on port 3000

License

MIT License