Adding page to reminderlist
This commit is contained in:
parent
14002799a3
commit
6dab13b309
1 changed files with 32 additions and 23 deletions
|
@ -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):
|
||||
|
|
Reference in a new issue