Adding page to reminderlist

This commit is contained in:
Mylloon 2021-07-28 21:47:59 +02:00
parent 14002799a3
commit 6dab13b309

View file

@ -562,43 +562,52 @@ class Utils(commands.Cog):
await self.client.wait_until_ready()
@commands.command(name='reminderlist', aliases=["remindlist", "rl", "rappeliste"])
async def _reminderlist(self, ctx, *utilisateur):
async def _reminderlist(self, ctx, *arg):
"""Affiche la liste des rappels d'un utilisateur.\n ➡ Syntaxe: {PREFIX}reminderlist/rl/remindlist/rappeliste [utilisateur]"""
_, fromSlash, utilisateur = isSlash(utilisateur)
if len(utilisateur) > 0:
_, fromSlash, arg = isSlash(arg)
utilisateur = ctx.author.id
page = 1
if len(arg) > 0:
try:
utilisateur = mentionToUser(getMentionInString(utilisateur[0])[0])
utilisateur = mentionToUser(getMentionInString(arg[0])[0])
except:
return await mySendHidden(ctx, fromSlash, "L'utilisateur renseigné n'a pas été trouvé.")
else:
utilisateur = ctx.author.id
try:
page = int(arg[0])
except:
return await mySendHidden(ctx, fromSlash, "Veuillez renseigné un utilisateur ou un numéro de page valide.")
reminders = Reminder().listeReminder(utilisateur, ctx.guild.id)
if fromSlash != True:
await ctx.message.add_reaction(emoji = '')
embed = discord.Embed(description = f"**Rappel{'s' if len(reminders) > 1 else ''} de <@{utilisateur}>**", color = discord.Colour.random())
pageMAX = -(-len(reminders) // 5)
embed = discord.Embed(description = f"**Rappel{'s' if len(reminders) > 1 else ''} de <@{utilisateur}>** • Page {page}/{pageMAX}", color = discord.Colour.random())
embed.set_thumbnail(url = self.client.get_user(utilisateur).avatar_url_as(size = 64))
if len(reminders) > 0:
for reminder in reminders:
texte = reminder[0]
if len(texte) > 1024:
texte = f"{texte[:1021]}..."
expiration = reminder[2] - int(nowUTC())
if expiration > 0:
expiration = f"Expire dans {timedeltaToString(expiration)}"
else:
expiration = f"A déjà expiré."
embed.add_field(value = texte, name = f"#{reminder[3]} • Fais le {timestampScreen(intToDatetime(reminder[1]))}\n{expiration}", inline = False)
limit = 5 * page
if len(reminders) > 0 and page <= pageMAX:
curseur = limit - 4
for reminder in reminders[limit - 5:]:
if curseur <= limit:
texte = reminder[0]
if len(texte) > 1024:
texte = f"{texte[:1021]}..."
expiration = reminder[2] - int(nowUTC())
if expiration > 0:
expiration = f"Expire dans {timedeltaToString(expiration)}"
else:
expiration = f"A déjà expiré."
embed.add_field(value = texte, name = f"#{reminder[3]} • Fais le {timestampScreen(intToDatetime(reminder[1]))}\n{expiration}", inline = False)
curseur += 1
else:
embed.add_field(name = "\u200b", value = "Vous n'avez aucun rappel en attente !")
embed.add_field(name = "\u200b", value = f"L'utilisateur n'a aucun rappel en attente ou page n°{page} vide !")
embed.set_footer(text = "Les rappels qui ont déjà expirés vont apparaître dans quelques instants.\nIls peuvent avoir jusqu'à 1 minute de retard maximum.")
await ctx.send(embed = embed)
@cog_ext.cog_slash(name="reminderlist", description = "Affiche la liste des rappels d'un utilisateur.")
async def __reminderlist(self, ctx, user = None):
if user == None:
async def __reminderlist(self, ctx, userorpage = None):
if userorpage == None:
return await self._reminderlist(ctx, True)
else:
return await self._reminderlist(ctx, user, True)
return await self._reminderlist(ctx, userorpage, True)
@commands.command(name='reminderdelete', aliases=["reminddelete", "rd"])
async def _reminderdelete(self, ctx, *id):