ephemeral-roles
![]() |
|---|
A Discord bot for managing ephemeral roles based upon voice channel member presence
Quickstart
- Click on the
Ephemeral Roleslogo head above or use this link to inviteEphemeral Rolesinto 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 Rolesis 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
developbranch 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
developbranch
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
masterwill automatically deploy the changes live




