Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/betaveros/roleguard
https://github.com/betaveros/roleguard
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/betaveros/roleguard
- Owner: betaveros
- License: other
- Created: 2024-04-10T08:37:00.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-04-17T02:45:12.000Z (8 months ago)
- Last Synced: 2024-04-17T08:05:54.944Z (8 months ago)
- Language: Python
- Size: 4.88 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE.markdown
Awesome Lists containing this project
README
# roleguard
a hyperspecific(?) discord bot
Admins can use `/addguard` or `/removeguard` to allow/disallow a specified user to set a password for a specified role. Then allowed users can use `/setpassword` to set a password for that role. Finally, anybody can use `/unlock` with the right password to get the bot to give them that role. The unusual goal is that admins and even the bot owner don't know the password (unless they actively tamper with the bot's code).
## on choosing passwords
For the specific use case of guarding a puzzlehunt spoiler channel:
The simplest and easiest-to-understand thing to do would be to set the password to the final metapuzzle's answer or something similar. The password does not undergo any puzzlehunt-style normalization, so you should also specify how to format it, e.g. "all caps no spaces".
One downside is that then people can then use the bot for (arbitrarily many) extra answer guesses. If you want to avoid that, or if this scheme doesn't work for any other reason, you could say that the password is something else that only teams who finish have access to, e.g. "the first sentence in the body of the victory page".
## TODO
- `/listguards`
- If desired, set multiple passwords per role? (I did this at first but decided to keep it simple)
- Reasonable password-removing command
- I'm probably logging too much if I want others to use this## license
Blue Oak Model License 1.0.0, because