From d29afb8c710b20a46475546e4dd0cd950c51ab5f Mon Sep 17 00:00:00 2001 From: MarkKoz Date: Sat, 29 Feb 2020 12:45:42 -0800 Subject: HelpChannels: reset send permissions This ensures everyone has a clean slate when the bot restarts or the cog reloads since the tasks to reinstate permissions would have been cancelled in those cases. --- bot/cogs/help_channels.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bot/cogs/help_channels.py b/bot/cogs/help_channels.py index e6401b14b..ee8eb2e1c 100644 --- a/bot/cogs/help_channels.py +++ b/bot/cogs/help_channels.py @@ -338,6 +338,7 @@ class HelpChannels(Scheduler, commands.Cog): log.trace("Initialising the cog.") await self.init_categories() + await self.reset_send_permissions() self.channel_queue = self.create_channel_queue() self.name_queue = self.create_name_queue() @@ -523,6 +524,15 @@ class HelpChannels(Scheduler, commands.Cog): # be put in the queue. await self.move_to_available() + async def reset_send_permissions(self) -> None: + """Reset send permissions for members with it set to False in the Available category.""" + log.trace("Resetting send permissions in the Available category.") + + for member, overwrite in self.available_category.overwrites.items(): + if isinstance(member, discord.Member) and overwrite.send_messages is False: + log.trace(f"Resetting send permissions for {member} ({member.id}).") + await self.available_category.set_permissions(member, send_messages=None) + async def revoke_send_permissions(self, member: discord.Member) -> None: """ Disallow `member` to send messages in the Available category for a certain time. -- cgit v1.2.3