A complete rewrite of FRCBot, written in TypeScript using Bolt.
This will eventually replace the current FRCBot, and Discord support will be added. Yay!
Contributions welcome. Shoot me an email at caleb@deniosoftware.com if you're interested in helping out.
This is not a perfected process, but here goes:
- Clone the repository with
git clone https://github.com/deniosoftware/frcbot-2.0
- Install Yarn, Docker and Docker Compose
- In the
frcbot-2.0/
folder, runyarn install
, thendocker-compose up
- Now FRCBot is available at
localhost:3000
. An ngrok tunnel will be automatically setup, and you can view the dashboard atlocalhost:3001
. - FRCBot should now automatically sync your local changes into the Docker container.
Create a .env
file to hold various config vars. This file follows Docker Compose's environment file specification. Here's an example:
SLACK_SIGNING_SECRET=super_secret_code
SLACK_CLIENT_ID=not_so_secret_code
SLACK_CLIENT_SECRET=pretty_secret_code
SLACK_STATE_SECRET=random_string_for_security
TBA_API_KEY=moderately_secret_code
TBA_WEBHOOK_SECRET=
DISCORD_CLIENT_ID=
DISCORD_TOKEN=
To configure the ngrok tunnel (e.g. get a custom subdomain), create a .ngrok.env
file with config like so:
Check out all the possible ngrok config vars here.
NGROK_AUTH=your_auth_key
# Requires paid account 🔽
NGROK_SUBDOMAIN=subdomain
URL | Description |
---|---|
http://localhost:3000 |
Your FRCBot instance |
http://localhost:3001 |
The ngrok dashboard |
http://localhost:3002 |
The Datastore viewer (powered by dsui) |
http://localhost:3003 |
The raw Datastore API is exposed here. [Reference] |