Skip to content

cjdenio/frcbot-2.0

Repository files navigation

FRCBot 2.0

Build Format

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.

Getting set up for development

This is not a perfected process, but here goes:

  1. Clone the repository with git clone https://github.com/deniosoftware/frcbot-2.0
  2. Install Yarn, Docker and Docker Compose
  3. In the frcbot-2.0/ folder, run yarn install, then docker-compose up
  4. Now FRCBot is available at localhost:3000. An ngrok tunnel will be automatically setup, and you can view the dashboard at localhost:3001.
  5. FRCBot should now automatically sync your local changes into the Docker container.

Config

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

Ports

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]

Releases

No releases published

Packages

No packages published