diff options
| author | 2025-02-08 12:10:21 -0500 | |
|---|---|---|
| committer | 2025-02-08 12:10:21 -0500 | |
| commit | c6fd02447ac3354c4daba9e181a67e0ea5eab9bd (patch) | |
| tree | 0e041db676d898baa32c40849b3815b6dfcf7721 | |
| parent | Merge pull request #3246 from python-discord/revert-3241-pastebin-auto-upload (diff) | |
| parent | Only pass post_id to the scheulded task, to be clear on intentions (diff) | |
Merge pull request #3254 from python-discord/fix-help-cog
Help cog improvements
| -rw-r--r-- | bot/exts/help_channels/_channel.py | 10 | ||||
| -rw-r--r-- | bot/exts/help_channels/_cog.py | 4 | 
2 files changed, 6 insertions, 8 deletions
| diff --git a/bot/exts/help_channels/_channel.py b/bot/exts/help_channels/_channel.py index 6a0c3264c..4e65d9379 100644 --- a/bot/exts/help_channels/_channel.py +++ b/bot/exts/help_channels/_channel.py @@ -47,9 +47,6 @@ async def _close_help_post(      scheduler: scheduling.Scheduler,  ) -> None:      """Close the help post and record stats.""" -    # Get Thread with updated metadata (such as the title) -    closed_post = await get_or_fetch_channel(bot.instance, closed_post.id) -      embed = discord.Embed(description=CLOSED_POST_MSG)      close_title = "Python help channel closed"      if closing_reason == _stats.ClosingReason.CLEANUP: @@ -192,10 +189,11 @@ async def get_closing_time(post: discord.Thread) -> tuple[arrow.Arrow, _stats.Cl      return time, _stats.ClosingReason.INACTIVE -async def maybe_archive_idle_post(post: discord.Thread, scheduler: scheduling.Scheduler) -> None: +async def maybe_archive_idle_post(post_id: int, scheduler: scheduling.Scheduler) -> None:      """Archive the `post` if idle, or schedule the archive for later if still active."""      try: -        await get_or_fetch_channel(bot.instance, post.id) +        # Fetch the post again, to ensure we have the latest info +        post = await get_or_fetch_channel(bot.instance, post_id)      except discord.HTTPException:          log.trace(f"Not closing missing post #{post} ({post.id}).")          return @@ -223,4 +221,4 @@ async def maybe_archive_idle_post(post: discord.Thread, scheduler: scheduling.Sc      delay = (closing_time - arrow.utcnow()).seconds      log.info(f"#{post} ({post.id}) is still active; scheduling it to be archived after {delay} seconds.") -    scheduler.schedule_later(delay, post.id, maybe_archive_idle_post(post, scheduler)) +    scheduler.schedule_later(delay, post.id, maybe_archive_idle_post(post.id, scheduler)) diff --git a/bot/exts/help_channels/_cog.py b/bot/exts/help_channels/_cog.py index 9db66bb39..5e0b1799f 100644 --- a/bot/exts/help_channels/_cog.py +++ b/bot/exts/help_channels/_cog.py @@ -47,7 +47,7 @@ class HelpForum(commands.Cog):          """Check that each open help post has a scheduled task to close, adding one if not."""          for post in self.help_forum_channel.threads:              if post.id not in self.scheduler: -                await _channel.maybe_archive_idle_post(post, self.scheduler) +                await _channel.maybe_archive_idle_post(post.id, self.scheduler)      async def close_check(self, ctx: commands.Context) -> bool:          """Return True if the channel is a help post, and the user is the claimant or has a whitelisted role.""" @@ -116,7 +116,7 @@ class HelpForum(commands.Cog):          self.scheduler.schedule_later(              delay,              thread.id, -            _channel.maybe_archive_idle_post(thread, self.scheduler) +            _channel.maybe_archive_idle_post(thread.id, self.scheduler)          )      @commands.Cog.listener() | 
