diff options
| author | 2020-06-08 19:37:37 -0700 | |
|---|---|---|
| committer | 2020-06-08 19:37:37 -0700 | |
| commit | 04b37cd054565368e5af42deec5d5ca14fc94199 (patch) | |
| tree | 71f0b551b1cf6295667e41ba7c2b1f3e9d7a71bb | |
| parent | Help channels: add a function to get in use time (diff) | |
Help channels: add a function to schedule cooldown expiration
Moving this code into a separate function reduces redundancy down the
line. This will also get used to re-scheduled cooldowns after a restart.
| -rw-r--r-- | bot/cogs/help_channels.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/bot/cogs/help_channels.py b/bot/cogs/help_channels.py index 13dee8e80..f2785c932 100644 --- a/bot/cogs/help_channels.py +++ b/bot/cogs/help_channels.py @@ -794,11 +794,14 @@ class HelpChannels(Scheduler, commands.Cog): # Would mean the user somehow bypassed the lack of permissions (e.g. user is guild owner). self.cancel_task(member.id, ignore_missing=True) - timeout = constants.HelpChannels.claim_minutes * 60 - callback = self.remove_cooldown_role(member) + await self.schedule_cooldown_expiration(member, constants.HelpChannels.claim_minutes * 60) + + async def schedule_cooldown_expiration(self, member: discord.Member, seconds: int) -> None: + """Schedule the cooldown role for `member` to be removed after a duration of `seconds`.""" + log.trace(f"Scheduling removal of {member}'s ({member.id}) cooldown.") - log.trace(f"Scheduling {member}'s ({member.id}) send message permissions to be reinstated.") - self.schedule_task(member.id, TaskData(timeout, callback)) + callback = self.remove_cooldown_role(member) + self.schedule_task(member.id, TaskData(seconds, callback)) async def send_available_message(self, channel: discord.TextChannel) -> None: """Send the available message by editing a dormant message or sending a new message.""" |