Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cjdenio/frcbot-2.0
A work-in-progress upgrade to FRCBot
https://github.com/cjdenio/frcbot-2.0
docker ngrok slack slack-api thebluealliance
Last synced: about 4 hours ago
JSON representation
A work-in-progress upgrade to FRCBot
- Host: GitHub
- URL: https://github.com/cjdenio/frcbot-2.0
- Owner: cjdenio
- Created: 2020-06-01T21:28:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-09T22:59:11.000Z (almost 2 years ago)
- Last Synced: 2023-03-05T14:57:13.305Z (over 1 year ago)
- Topics: docker, ngrok, slack, slack-api, thebluealliance
- Language: TypeScript
- Size: 418 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FRCBot 2.0
![Build](https://github.com/deniosoftware/frcbot-2.0/workflows/Build/badge.svg)
![Format](https://github.com/deniosoftware/frcbot-2.0/workflows/Format/badge.svg)A complete rewrite of [FRCBot](https://github.com/deniosoftware/frcbot), written in TypeScript using [Bolt](https://slack.dev/bolt-js).
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.
## [To-Do List](https://github.com/deniosoftware/frcbot-2.0/projects/1)
## 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](https://yarnpkg.com), [Docker](https://docker.com) and [Docker Compose](https://docs.docker.com/compose/install)
3. In the `frcbot-2.0/` folder, run `yarn install`, then `docker-compose up`
4. Now FRCBot is available at `localhost:3000`. An [ngrok](https://ngrok.com) 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.](https://docs.docker.com/compose/compose-file/#env_file) 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](https://ngrok.com) 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](https://github.com/wernight/docker-ngrok#environment-variables).
```
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](https://ngrok.com) dashboard |
| `http://localhost:3002` | The Datastore viewer (powered by [dsui](https://github.com/streamrail/dsui)) |
| `http://localhost:3003` | The raw Datastore API is exposed here. [[Reference](https://cloud.google.com/datastore/docs/reference/data/rest)] |