This bot supports operations in the Progressive Victory Discord Server. To join, sign up here.
Commands help users interact with the server and manage its members:
This command has two subcommands
- ping - Allows our state leads to ping members' state roles
- members - Gets a list of all members with a specified role
Directs members to the GitHub issues page to submit feedback and report bugs
To contribute to this repo, start by forking it and working on the fork. Then, when you are ready, create a pull request. The pull request will be reviewed as soon as possible.
To get started we recommend you install the following software:
- Node.js v20.12.2 or later
- Visual Studio Code
- git
The Progressive Victory Discord bot runs in a Docker container deployed to the GCP Compute Engine. The bot uses:
- pnpm to manage dependencies
- MongoDB as a (document) database
- Mongoose to interact with the database
- express.js to implement RESTful APIs
- NOTE: Currently, the PV bot doesn't define any RESTful API routes or handlers. The long-term vision is for the PV bot to act as a proxy for requests to the Discord API.
- dockerfile contains the instructions to build the Discord bot's Docker image.
- cloudbuild.yml contains the GCP build configuration, which defines:
- Startup scripts
- The destination for logs
- Managing secrets such as the bot's Discord token and the MongoDB URI
- commands defines the various commands users can use to trigger PV bot workflows:
- commands/chat defines the various chat commands (slash commands) users can use
- commands/context_menu defines the various context menu commands users can use
- events defines the various client events that the PV bot uses to interact with Discord.
- interactions defines the various interactive components the PV bot can send to users to enhance the functionality of commands
- interactions/buttons defines various button interactions
- interactions/modals defines various modal interactions
- interactions/select_menus defines various select menu interactions