Avoid deduplicating scheduled reminders

master
Nikola Forró 4 years ago
parent 971f805649
commit fe6840f19c

@ -142,7 +142,7 @@ class Bot(discord.Client):
except YouTubeError as e: except YouTubeError as e:
return return
published = entry.get('published') published = entry.get('published')
if published: if published and not entry.get('reminder'):
if [v for v, p in self.yt_videos if v == video_id and p == published]: if [v for v, p in self.yt_videos if v == video_id and p == published]:
return return
self.yt_videos.append((video_id, published)) self.yt_videos.append((video_id, published))
@ -155,7 +155,9 @@ class Bot(discord.Client):
remaining = (scheduled_start - datetime.datetime.now(datetime.timezone.utc)).total_seconds() remaining = (scheduled_start - datetime.datetime.now(datetime.timezone.utc)).total_seconds()
for minutes in COUNTDOWN: for minutes in COUNTDOWN:
if remaining > minutes * 60: if remaining > minutes * 60:
Timer.schedule(scheduled_start - datetime.timedelta(minutes=minutes), data) payload = data.copy()
payload['feed']['entry']['reminder'] = '{0}m'.format(minutes)
Timer.schedule(scheduled_start - datetime.timedelta(minutes=minutes), payload)
note = 'Live in {0} minutes!\n'.format(int(remaining / 60)) note = 'Live in {0} minutes!\n'.format(int(remaining / 60))
mention = channel.guild.default_role.mention mention = channel.guild.default_role.mention
await channel.send('{mention} {note}**{title}**\n{link}'.format(mention=mention, note=note, **video)) await channel.send('{mention} {note}**{title}**\n{link}'.format(mention=mention, note=note, **video))

Loading…
Cancel
Save