Skip to content

Commit c6fd024

Browse files
authored
Merge pull request #3254 from python-discord/fix-help-cog
Help cog improvements
2 parents de61208 + d126895 commit c6fd024

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

bot/exts/help_channels/_channel.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ async def _close_help_post(
4747
scheduler: scheduling.Scheduler,
4848
) -> None:
4949
"""Close the help post and record stats."""
50-
# Get Thread with updated metadata (such as the title)
51-
closed_post = await get_or_fetch_channel(bot.instance, closed_post.id)
52-
5350
embed = discord.Embed(description=CLOSED_POST_MSG)
5451
close_title = "Python help channel closed"
5552
if closing_reason == _stats.ClosingReason.CLEANUP:
@@ -192,10 +189,11 @@ async def get_closing_time(post: discord.Thread) -> tuple[arrow.Arrow, _stats.Cl
192189
return time, _stats.ClosingReason.INACTIVE
193190

194191

195-
async def maybe_archive_idle_post(post: discord.Thread, scheduler: scheduling.Scheduler) -> None:
192+
async def maybe_archive_idle_post(post_id: int, scheduler: scheduling.Scheduler) -> None:
196193
"""Archive the `post` if idle, or schedule the archive for later if still active."""
197194
try:
198-
await get_or_fetch_channel(bot.instance, post.id)
195+
# Fetch the post again, to ensure we have the latest info
196+
post = await get_or_fetch_channel(bot.instance, post_id)
199197
except discord.HTTPException:
200198
log.trace(f"Not closing missing post #{post} ({post.id}).")
201199
return
@@ -223,4 +221,4 @@ async def maybe_archive_idle_post(post: discord.Thread, scheduler: scheduling.Sc
223221
delay = (closing_time - arrow.utcnow()).seconds
224222
log.info(f"#{post} ({post.id}) is still active; scheduling it to be archived after {delay} seconds.")
225223

226-
scheduler.schedule_later(delay, post.id, maybe_archive_idle_post(post, scheduler))
224+
scheduler.schedule_later(delay, post.id, maybe_archive_idle_post(post.id, scheduler))

bot/exts/help_channels/_cog.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ async def check_all_open_posts_have_close_task(self) -> None:
4747
"""Check that each open help post has a scheduled task to close, adding one if not."""
4848
for post in self.help_forum_channel.threads:
4949
if post.id not in self.scheduler:
50-
await _channel.maybe_archive_idle_post(post, self.scheduler)
50+
await _channel.maybe_archive_idle_post(post.id, self.scheduler)
5151

5252
async def close_check(self, ctx: commands.Context) -> bool:
5353
"""Return True if the channel is a help post, and the user is the claimant or has a whitelisted role."""
@@ -116,7 +116,7 @@ async def new_post_listener(self, message: discord.Message) -> None:
116116
self.scheduler.schedule_later(
117117
delay,
118118
thread.id,
119-
_channel.maybe_archive_idle_post(thread, self.scheduler)
119+
_channel.maybe_archive_idle_post(thread.id, self.scheduler)
120120
)
121121

122122
@commands.Cog.listener()

0 commit comments

Comments
 (0)