Send a reminder to innactive threads
All checks were successful
Test, Build and Publish / test (pull_request) Successful in 34s
Test, Build and Publish / build-and-push-images (pull_request) Successful in 1m12s

This sends a reminder message to any thread with 1 or less messages

This picks up only active threads too
This commit is contained in:
Marc Di Luzio 2024-09-22 16:30:49 +01:00
parent 455f202364
commit f7898892e6
2 changed files with 17 additions and 2 deletions

View file

@ -223,10 +223,15 @@ class MatcherCog(commands.Cog):
await match_groups_in_channel(msg_channel, min) await match_groups_in_channel(msg_channel, min)
# Send a reminder to threads for a match that happened two days ago # Send a reminder to threads for a match that happened two days ago
for (channel, min) in state.State.get_active_match_tasks(datetime.now() - timedelta(days=2)): for (channel, _) in state.State.get_active_match_tasks(datetime.now() - timedelta(days=2)):
logger.info("Sending reminders to threads in %s", channel) logger.info("Sending reminders to threads in %s", channel)
msg_channel = self.bot.get_channel(int(channel)) msg_channel = self.bot.get_channel(int(channel))
# TODO: Send a reminder per thread # Find any threads that need
for thread in msg_channel.threads:
# Only regard threads the bot created
# And that have no additional messages
if thread.owner.id == self.bot.user.id and thread.message_count <= 1:
await thread.send(strings.thread_reminder())
# Increment when adjusting the custom_id so we don't confuse old users # Increment when adjusting the custom_id so we don't confuse old users

View file

@ -145,6 +145,16 @@ Make sure you're /pause'd if you need to be, or /join in ASAP!""",
] ]
@randomised
def thread_reminder(): return [
"Hey friends, just checking in! No worries if you're too busy this week",
"Bork bork, quick reminder in case y'all forgot!",
"Hey matchees, how's your week going?",
"Hey everyone, don't forget to check in with eachother!",
"Quick friendly nudge, how're you all doing?",
]
@randomised @randomised
def matching(): return [ def matching(): return [
"Matchy is matching matchees...", "Matchy is matching matchees...",