Skip to content

[feat] Role Preserve: Ignored/Blacklisted Roles#59

Merged
ktwrd merged 92 commits into
developfrom
feature/rolepreserve-blacklist
Jun 26, 2026
Merged

[feat] Role Preserve: Ignored/Blacklisted Roles#59
ktwrd merged 92 commits into
developfrom
feature/rolepreserve-blacklist

Conversation

@ktwrd

@ktwrd ktwrd commented May 24, 2026

Copy link
Copy Markdown
Owner

New feature for Role Preservation to ignore/blacklist roles from being given to users when they re-join. Useful if you have a server that required users to raise a ticket to be let in, and have a manual approval process.

DB Layer and Application Commands are complete. Just finishing up the UI for the settings (which is currently being rewritten)

I've also added an auditing feature to Role Preservation, so it's audited if anything went wrong with granting a users roles back, and what roles were granted back. This auditing also includes when a staff/mod updates the Role Preservation configuration.

Tasks:

  • Add database models
  • Add GuildRoleCache to database (just points to latest snapshot w/ basic info like name)
  • Add logic removing blacklisted roles in the db when the role is deleted
  • Add slash commands for viewing configuration
  • Add slash commands for add/remove roles from blacklist
  • Add web panel UI for viewing blacklisted roles (incl partial refactor of web ui for moderation)
  • Add web panel UI for adding blacklisted roles (will be done in a later release maybe)
  • Add logging feature for role preserve (todo in future release)
    • Partially done. Need to implement "success" log notifications (only for ServerLogEvent.RolePreserve)

ktwrd added 30 commits May 2, 2026 22:04
…ist & implemented embed generator for listing blacklisted roles
@ktwrd

ktwrd commented Jun 16, 2026

Copy link
Copy Markdown
Owner Author

properly finished logging for failure notifications. going to add success/skip notifications later.

also added url in dashboard to link to the server logging page for a server. will also need to be updated in the dashboard refactor since the UI is a bit hard to navigate right now

screenshot showing arrow pointing to new link/note in the role preserve server settings

@ktwrd

ktwrd commented Jun 25, 2026

Copy link
Copy Markdown
Owner Author

"success" log events should now be sent whenever there is never failures (and will only be sent to the configured RolePreserve channel or fallback channel)

i haven't tested the feature yet, but it should work

it would be nice to implement a feature to explicitly block server log events from being sent in the fallback channel, but that might overcomplicate things for the average user (and stuff only sends to the fallback channel when no channel is configured for an event, or it didn't get sent successfully)

@ktwrd

ktwrd commented Jun 25, 2026

Copy link
Copy Markdown
Owner Author

fixed more bugs & minor nitpicks w/ server logging & role preserve logging. the role preserve guide page has also been updated on the staging website, and that'll be deployed to the prod website once this is live in prod.

image

ktwrd added a commit to ktwrd/XeniaBot-Website that referenced this pull request Jun 25, 2026
@ktwrd ktwrd merged commit d238c55 into develop Jun 26, 2026
2 checks passed
@ktwrd ktwrd changed the title [feat] Role Preserve: Ignored/Blacklisted Roles (not complete) [feat] Role Preserve: Ignored/Blacklisted Roles Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant