ephemeral-roles
A Discord bot for managing ephemeral roles based upon voice channel member presence
Quickstart
- Click on the
Ephemeral Roles
logo head above or use this link to inviteEphemeral Roles
into your Discord server- The ‘Manage Roles’ permission is required. The invite link above
provides that by automatically creating an appropriate role in your server
for
Ephemeral Roles
- The ‘Manage Roles’ permission is required. The invite link above
provides that by automatically creating an appropriate role in your server
for
- Ensure the new role for
Ephemeral Roles
is at the top (or as near as possible) to the server’s list of roles- If you’re not sure how or why to do that, take a quick read over Discord’s excellent Role Management 101 guide
- Enjoy!
What does Ephemeral Roles
do?
After the Ephemeral Roles
bot is invited to your Discord server, it
immediately starts to watch for changes to your voice channels. When a member
joins a channel, Ephemeral Roles
automatically assigns that member an
ephemeral role associated with the channel. If the ephemeral role doesn’t
exist yet, Ephemeral Roles
will create it.
By having your members auto-sorted into ephemeral roles in your member list,
it’s clear to see who are available for chatting and the channels they are in.
This is because ephemeral-roles
leverages the Discord feature that the member
list in servers will group together members by role right out of the box.
When a member changes or disconnects from voice channels, even across Discord
servers, Ephemeral Roles
will account for the change and automatically
revoke/reissue ephemeral roles as appropriate.
Example Usage
Orange roles below are automatically managed by Ephemeral Roles |
---|
Monitoring
A Prometheus and Grafana instance have been set up to monitor Ephemeral Roles
metrics.
grafana.ephemeral-roles.net |
---|
Contributing to the project
Contributions are very welcome! Please follow the guidelines below:
- Open an issue describing the bug or enhancement
- Fork the
develop
branch and make your changes- Try to match current naming conventions as closely as possible
- Try to keep changes small and incremental with appropriate new unit tests
- Create a Pull Request with your changes against the
develop
branch
This project is equipped with a full CI / CD pipeline:
- Linting and unit tests will be automatically run with the PR, providing feedback if any additional changes need to be made
- Merge to
master
will automatically deploy the changes live