Adding page to reminderlist
This commit is contained in:
parent
14002799a3
commit
6dab13b309
1 changed files with 32 additions and 23 deletions
|
@ -562,24 +562,32 @@ class Utils(commands.Cog):
|
||||||
await self.client.wait_until_ready()
|
await self.client.wait_until_ready()
|
||||||
|
|
||||||
@commands.command(name='reminderlist', aliases=["remindlist", "rl", "rappeliste"])
|
@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]"""
|
"""Affiche la liste des rappels d'un utilisateur.\n ➡ Syntaxe: {PREFIX}reminderlist/rl/remindlist/rappeliste [utilisateur]"""
|
||||||
_, fromSlash, utilisateur = isSlash(utilisateur)
|
_, fromSlash, arg = isSlash(arg)
|
||||||
if len(utilisateur) > 0:
|
|
||||||
try:
|
|
||||||
utilisateur = mentionToUser(getMentionInString(utilisateur[0])[0])
|
|
||||||
except:
|
|
||||||
return await mySendHidden(ctx, fromSlash, "L'utilisateur renseigné n'a pas été trouvé.")
|
|
||||||
else:
|
|
||||||
utilisateur = ctx.author.id
|
utilisateur = ctx.author.id
|
||||||
|
page = 1
|
||||||
|
if len(arg) > 0:
|
||||||
|
try:
|
||||||
|
utilisateur = mentionToUser(getMentionInString(arg[0])[0])
|
||||||
|
except:
|
||||||
|
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)
|
reminders = Reminder().listeReminder(utilisateur, ctx.guild.id)
|
||||||
if fromSlash != True:
|
if fromSlash != True:
|
||||||
await ctx.message.add_reaction(emoji = '✅')
|
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))
|
embed.set_thumbnail(url = self.client.get_user(utilisateur).avatar_url_as(size = 64))
|
||||||
if len(reminders) > 0:
|
limit = 5 * page
|
||||||
for reminder in reminders:
|
if len(reminders) > 0 and page <= pageMAX:
|
||||||
|
curseur = limit - 4
|
||||||
|
for reminder in reminders[limit - 5:]:
|
||||||
|
if curseur <= limit:
|
||||||
texte = reminder[0]
|
texte = reminder[0]
|
||||||
if len(texte) > 1024:
|
if len(texte) > 1024:
|
||||||
texte = f"{texte[:1021]}..."
|
texte = f"{texte[:1021]}..."
|
||||||
|
@ -589,16 +597,17 @@ class Utils(commands.Cog):
|
||||||
else:
|
else:
|
||||||
expiration = f"A déjà expiré."
|
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)
|
embed.add_field(value = texte, name = f"#{reminder[3]} • Fais le {timestampScreen(intToDatetime(reminder[1]))}\n{expiration}", inline = False)
|
||||||
|
curseur += 1
|
||||||
else:
|
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.")
|
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)
|
await ctx.send(embed = embed)
|
||||||
@cog_ext.cog_slash(name="reminderlist", description = "Affiche la liste des rappels d'un utilisateur.")
|
@cog_ext.cog_slash(name="reminderlist", description = "Affiche la liste des rappels d'un utilisateur.")
|
||||||
async def __reminderlist(self, ctx, user = None):
|
async def __reminderlist(self, ctx, userorpage = None):
|
||||||
if user == None:
|
if userorpage == None:
|
||||||
return await self._reminderlist(ctx, True)
|
return await self._reminderlist(ctx, True)
|
||||||
else:
|
else:
|
||||||
return await self._reminderlist(ctx, user, True)
|
return await self._reminderlist(ctx, userorpage, True)
|
||||||
|
|
||||||
@commands.command(name='reminderdelete', aliases=["reminddelete", "rd"])
|
@commands.command(name='reminderdelete', aliases=["reminddelete", "rd"])
|
||||||
async def _reminderdelete(self, ctx, *id):
|
async def _reminderdelete(self, ctx, *id):
|
||||||
|
|
Reference in a new issue