aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2020-02-29 12:45:42 -0800
committerGravatar MarkKoz <[email protected]>2020-03-22 15:54:43 -0700
commitd29afb8c710b20a46475546e4dd0cd950c51ab5f (patch)
tree70af96b2ee18307dfa94eae5b10946b96e2c0d38
parentHelpChannels: allow users to claim a new channel every 15 minutes (diff)
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.
-rw-r--r--bot/cogs/help_channels.py10
1 files changed, 10 insertions, 0 deletions
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.