A Discord bot for managing ephemeral roles based upon voice channel member presence.
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
Ephemeral Roles into your Discord server
1. The 'Manage Roles' permission is required. The invite link above
provides that by automatically creating an appropriate role in your server
for Ephemeral Roles
- Ensure the new role for
Ephemeral Rolesis at the top (or as near as
- 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 | | :------: | |
|
Architecture
| Architectural Diagram | | :------: | |
| | Architectural diagram created with draw.io |
ephemeral-roles:
pod-bouncer(https://github.com/ewohltman/pod-bouncer):
Prometheus/AlertManager and to act upon them by automatically causing
unhealthy Pods for ephemeral-roles to restart
ephemeral-roles-informer(https://github.com/ewohltman/ephemeral-roles-informer):
ephemeral-roles instances to update search services such as
discord.bots.gg and top.gg
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
- Create a Pull Request with your changes against the
developbranch
- Linting and unit tests will be automatically run with the PR, providing
- Merge to
masterwill automatically deploy the changes live
