mirror of
https://github.com/cjdenio/jia.git
synced 2024-11-24 08:33:40 +00:00
🦉 Keeping an eye on the Hack Club Slack's #counttoamillion channel
.github/workflows | ||
cmd | ||
pkg/jia | ||
.gitignore | ||
captain-definition | ||
Dockerfile | ||
events.yaml | ||
go.mod | ||
go.sum | ||
LICENSE.txt | ||
Makefile | ||
README.md |
🦉 Jia
Keeping an eye on the Hack Club Slack’s #counttoamillion channel.
Setup
Creating the Slack app
You’ll 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
(orgroups:history
, if it’s a private channel): Used to listen to messages sent.chat:write
: Used for sending messages.reactions:write
: For reacting to invalid messages.
Then you’ll need to subscribe the app to a few events. The server has an endpoint open at /slack/events
, so when you’re asked for a request URL, just put https://<SERVER>/slack/events
. Only the following events are needed:
message.channels
(ormessage.groups
if it’s 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 you’ve followed all the above steps, you should see something like this:
Starting Jia…
Listening on port 3000