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 [email protected] 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] |