UQComputingSociety / uqcsbot-discord

:mortar_board: UQCSbot: Our friendly little Discord bot
https://discord.uqcs.org
MIT License
20 stars 20 forks source link

fix permission checks on starboard interactions & manage_cogs #176

Closed andrewj-brown closed 1 year ago

andrewj-brown commented 1 year ago

The default_permissions() decorator lets DMs through. This is cringe - we want to use default_permissions so that the server's role & moderation processes are abstracted out of the bot's code, and future committees can just fiddle with discord settings.

A more long-term solution is to have a decorator, @requires_server or the like, so we can continue to use default_permissions and just require that some commands must be used in the server. (This also would fix several other DM-based errors this PR identifies.) However, for now, let's just switch them all to checks.has_permissions() instead.

grep -r permission shows the following cogs use permissions:

andrewj-brown commented 1 year ago

Using mega gamer admin powers to merge instantly. it's a 3-line change, and I don't want people /manage_cogs unload'ing shit while this PR waits.

...also fuck typechecking