Twitch API v5 makes use of IDs instead of usernames.
To migrate the current data, the cog will attempt to fetch and save all the missing stream IDs on loading (in chunks of 100)
Moved blacklist / whitelist functions to owner cog
Moved [p]modset adminrole / modrole to [p]set command group
Check mod/admin users against blacklist / whitelist:
Users with (server or global) admin or mod role used to be able to skip the whitelist / blacklist checks. This doesn't really make sense from a design pov since these are global checks and the commands are owner only.
[p]set adminrole/modrole: check that the role actually exists before adding it
Added [p]blacklist/whitelist list, to show the members of each list
Further cleaned up the code
Added a toggleable setting for answer reveal on timeout
Removed all the try except statements on send_message, discord.py now handles those on its own
Displays settings in a user friendly way
Fixes#668
The exception command sends the last occurred exception to the owner, or even publicly if requested.
The error that used to show up publicly when a command failed has been hidden for security reasons.
All references to "modules" have been changed to "cogs"
Toggleable with [p]modset hierarchy
This enables a role hierarchy check before all moderation actions. If the mod doesn't have a role superior to the user's top role the action will be denied.
Server owner and bot owner are exempt from the check.
Case management:
- Centralize formatting code
- Store raw action type
- Centralize pretty-print (emoji) representation of actions
- Store creation and update timestamps
- Allow edits from admin or bot owner
- Enable or disable case creation on a per-action basis
- Preliminary support for action durations
Mute:
- Add case creation (on by default for server, not channel)
- Show channel member was muted in in modlog entry