Fix reminders, use timestamps
This commit is contained in:
parent
d3449fc5ed
commit
e59e566f30
1 changed files with 9 additions and 17 deletions
|
@ -113,7 +113,7 @@ class RemindmeCog(Scale):
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
remind_at = datetime.now() + timedelta(**delta)
|
remind_at = datetime.utcnow() + timedelta(**delta)
|
||||||
|
|
||||||
r = Reminder(
|
r = Reminder(
|
||||||
user=ctx.author.id,
|
user=ctx.author.id,
|
||||||
|
@ -134,7 +134,7 @@ class RemindmeCog(Scale):
|
||||||
EmbedField(name="Message", value=message),
|
EmbedField(name="Message", value=message),
|
||||||
EmbedField(
|
EmbedField(
|
||||||
name="When",
|
name="When",
|
||||||
value=remind_at.strftime("%Y-%m-%d %H:%M UTC"),
|
value=f"<t:{int(remind_at.timestamp())}:F>",
|
||||||
inline=False,
|
inline=False,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -157,7 +157,7 @@ class RemindmeCog(Scale):
|
||||||
if reminder.private and isinstance(ctx.channel, GuildChannel):
|
if reminder.private and isinstance(ctx.channel, GuildChannel):
|
||||||
fields.embed(
|
fields.embed(
|
||||||
EmbedField(
|
EmbedField(
|
||||||
name=reminder.remind_at.strftime("%Y-%m-%d %H:%M UTC"),
|
name=f"<t:{int(reminder.remind_at.timestamp())}:F>",
|
||||||
value="Please DM me this command to view the content of this reminder",
|
value="Please DM me this command to view the content of this reminder",
|
||||||
inline=False,
|
inline=False,
|
||||||
)
|
)
|
||||||
|
@ -165,7 +165,7 @@ class RemindmeCog(Scale):
|
||||||
else:
|
else:
|
||||||
fields.append(
|
fields.append(
|
||||||
EmbedField(
|
EmbedField(
|
||||||
name=reminder.remind_at.strftime("%Y-%m-%d %H:%M UTC"),
|
name=f"<t:{int(reminder.remind_at.timestamp())}:F>",
|
||||||
value=f"{reminder.message}\n\u200b",
|
value=f"{reminder.message}\n\u200b",
|
||||||
inline=False,
|
inline=False,
|
||||||
)
|
)
|
||||||
|
@ -187,15 +187,7 @@ class RemindmeCog(Scale):
|
||||||
|
|
||||||
@slash_command(name="reminders", sub_cmd_name="list", sub_cmd_description="List reminders")
|
@slash_command(name="reminders", sub_cmd_name="list", sub_cmd_description="List reminders")
|
||||||
async def _list(self, ctx: InteractionContext) -> None:
|
async def _list(self, ctx: InteractionContext) -> None:
|
||||||
exists = self.check_cache(ctx)
|
reminders = await Reminder.find(q(user=ctx.author.id, active=True)).to_list(None)
|
||||||
if exists:
|
|
||||||
await ctx.defer(ephemeral=True)
|
|
||||||
await ctx.send(
|
|
||||||
f"Please use existing interaction: {exists['paginator']._message.jump_url}",
|
|
||||||
ephemeral=True,
|
|
||||||
)
|
|
||||||
return
|
|
||||||
reminders = await Reminder.find(q(user=ctx.author.id, active=True))
|
|
||||||
if not reminders:
|
if not reminders:
|
||||||
await ctx.send("You have no reminders set.", ephemeral=True)
|
await ctx.send("You have no reminders set.", ephemeral=True)
|
||||||
return
|
return
|
||||||
|
@ -206,7 +198,7 @@ class RemindmeCog(Scale):
|
||||||
|
|
||||||
@slash_command(name="reminders", sub_cmd_name="delete", sub_cmd_description="Delete a reminder")
|
@slash_command(name="reminders", sub_cmd_name="delete", sub_cmd_description="Delete a reminder")
|
||||||
async def _delete(self, ctx: InteractionContext) -> None:
|
async def _delete(self, ctx: InteractionContext) -> None:
|
||||||
reminders = await Reminder.find(q(user=ctx.author.id, active=True))
|
reminders = await Reminder.find(q(user=ctx.author.id, active=True)).to_list(None)
|
||||||
if not reminders:
|
if not reminders:
|
||||||
await ctx.send("You have no reminders set", ephemeral=True)
|
await ctx.send("You have no reminders set", ephemeral=True)
|
||||||
return
|
return
|
||||||
|
@ -214,7 +206,7 @@ class RemindmeCog(Scale):
|
||||||
options = []
|
options = []
|
||||||
for reminder in reminders:
|
for reminder in reminders:
|
||||||
option = SelectOption(
|
option = SelectOption(
|
||||||
label=reminder.remind_at.strftime("%Y-%m-%d %H:%M UTC"),
|
label=f"<t:{int(reminder.remind_at.timestamp())}:F>",
|
||||||
value=str(reminder.id),
|
value=str(reminder.id),
|
||||||
emoji="⏰",
|
emoji="⏰",
|
||||||
)
|
)
|
||||||
|
@ -249,7 +241,7 @@ class RemindmeCog(Scale):
|
||||||
if reminder.private and isinstance(ctx.channel, GuildChannel):
|
if reminder.private and isinstance(ctx.channel, GuildChannel):
|
||||||
fields.append(
|
fields.append(
|
||||||
EmbedField(
|
EmbedField(
|
||||||
name=reminder.remind_at.strftime("%Y-%m-%d %H:%M UTC"),
|
name=f"<t:{int(reminder.remind_at.timestamp())}:F>",
|
||||||
value="Private reminder",
|
value="Private reminder",
|
||||||
inline=False,
|
inline=False,
|
||||||
)
|
)
|
||||||
|
@ -257,7 +249,7 @@ class RemindmeCog(Scale):
|
||||||
else:
|
else:
|
||||||
fields.append(
|
fields.append(
|
||||||
EmbedField(
|
EmbedField(
|
||||||
name=reminder.remind_at.strftime("%Y-%m-%d %H:%M UTC"),
|
name=f"<t:{int(reminder.remind_at.timestamp())}:F>",
|
||||||
value=reminder.message,
|
value=reminder.message,
|
||||||
inline=False,
|
inline=False,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue