Discord bot that automatically provisions Nebula API keys for users.
Each key is tied to a Discord user. When a user requests a key, the key is provisioned and stored as a record associated with that Discord user.
If a project uses a key, that project has a Discord member who is the "representative" for the key.
This design helps us track ownership and requests info. If a key is abused or needs to be revoked, we can reach out to the person responsible and follow up directly.
- A Discord user runs
/request-key. - The bot shows a modal to collect project name and description.
- The bot checks whether that user already has an existing provisioned key.
- If not, the bot creates a new key, encrypts it, and saves it linked to the user.
- The bot DMs the user their key.
Make sure your environment variables are set, then run:
npm run install
npm run discordContribution is welcome!