S-CyberSage is a serverless adaptation of the CyberSage Discord bot, designed to manage self-assignable roles via slash commands.
/role save <roleName>- Saves a role to be toggleable
- Requires administrator permissions
/role toggle <roleName>- Toggles a role on the user
- Available to all users
The following environment variables are required for command registration:
DISCORD_TOKEN= DISCORD_CLIENT_ID= DISCORD_GUILD_ID=
- DISCORD_TOKEN — Bot token
- DISCORD_CLIENT_ID — Application (client) ID
- DISCORD_GUILD_ID — Target guild for registering commands
You must manually set the values for these secrets in the account you deployed to.
- Token
- Public Key
- Set the Interactions Endpoint URL in the Discord Developer Portal to your deployed API Gateway endpoint
- This allows Discord to send interaction events to the lambda
You must register slash commands before use.
- Use the provided registration script (or equivalent)
- Ensure the environment variables above are set before running
- Guild-level registration is recommended for faster updates during development
Manage Roles— Required for the bot to add/remove roles from users- The bot’s highest role must be above any roles it is trying to assign/remove
This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.