Merge pull request 'Add a reminder for innactive threads' (#19) from add-reminder into main
All checks were successful
Test, Build and Publish / test (push) Successful in 33s
Test, Build and Publish / build-and-push-images (push) Successful in 1m10s

Reviewed-on: #19
This commit is contained in:
mdiluz 2024-09-24 11:16:58 +01:00
commit 472f67b3f6
2 changed files with 26 additions and 3 deletions

View file

@ -210,15 +210,28 @@ class MatcherCog(commands.Cog):
async def run_hourly_tasks(self): async def run_hourly_tasks(self):
"""Run any hourly tasks we have""" """Run any hourly tasks we have"""
# Send a reminder for anything that will be active in 1 day
for (channel, _) in state.State.get_active_match_tasks(datetime.now() + timedelta(days=1)):
logger.info("Reminding about scheduled task in %s", channel)
msg_channel = self.bot.get_channel(int(channel))
await msg_channel.send(strings.reminder())
# Match groups for anything active right now
for (channel, min) in state.State.get_active_match_tasks(): for (channel, min) in state.State.get_active_match_tasks():
logger.info("Scheduled match task triggered in %s", channel) logger.info("Scheduled match task triggered in %s", channel)
msg_channel = self.bot.get_channel(int(channel)) msg_channel = self.bot.get_channel(int(channel))
await match_groups_in_channel(msg_channel, min) await match_groups_in_channel(msg_channel, min)
for (channel, _) in state.State.get_active_match_tasks(datetime.now() + timedelta(days=1)): # Send a reminder to threads for a match that happened two days ago
logger.info("Reminding about scheduled task in %s", channel) for (channel, _) in state.State.get_active_match_tasks(datetime.now() - timedelta(days=2)):
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))
await msg_channel.send(strings.reminder()) # 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...",