Adding weeks and years to reminder

This commit is contained in:
Mylloon 2021-08-02 11:58:22 +02:00
parent e8303ed052
commit c123d04631
2 changed files with 20 additions and 5 deletions

View file

@ -102,8 +102,9 @@ class ReminderDiscord(commands.Cog):
await ctx.message.add_reaction(emoji = '')
return await mySendHidden(ctx, fromSlash, seconds)
if seconds == 0:
embed.add_field(name="Attention", value=
"Format pour le temps : `d` ou `j` pour jour, `h` pour heure, `m` pour minute, `s` pour seconde (légères variances acceptés aussi). \
embed.add_field(name="Informations", value=
"Format pour le temps : `y` ou `a` pour année, `w` pour semaine, `d` ou `j` pour jour, \
\n`h` pour heure, `m` pour minute, `s` pour seconde (légères variances acceptés aussi).\n \
\nMet un `@` accolée aux temps pour mentionner les gens mentionner dans ton message. \
\nMet un `P` accolée au temps pour que le bot te DM au lieu de t'envoyer un message dans ce salon."
)

View file

@ -8,12 +8,13 @@ myTimezone = load(["TIMEZONE"])["TIMEZONE"]
def stringTempsVersSecondes(time):
"""Convertis une durée rentrée par un utilisateur en string vers des secondes en int"""
conversionTemps = {
"31536000 ": ["y", "a"],
"604800": ["w"],
"86400": ["j", "d"],
"3600": ["h"],
"60": ["m"],
"1": ["s", ""]
}
valeursMultiplicateur = ""
for i in conversionTemps.values():
for j in i:
@ -57,14 +58,27 @@ def timestampScreen(timestamp):
def timedeltaToString(time):
"""Différence entre une heure en seconde et maintenant"""
age = sub(r' days?, ', ':', str(timedelta(seconds = time))).split(':')
affichage = [1, 1, 1, 1] # len(age) == 4
affichage = [1, 1, 1, 1]
if len(age) == 3:
affichage = [0, 1, 1, 1]
age.insert(0, None)
for i in range(1, len(affichage)):
if int(age[i]) == 0:
affichage[i] = 0
age[0] = f"{age[0]} jour{'s' if int(age[0]) > 1 else ''}" if affichage[0] == 1 else ''
if affichage[0] == 1:
day = int(age[0]) # récupération du nombre de jour
year = day // 365 # ajout du nombre d'année
day -= year * 365 # suppression des années dans le nombre de jour
week = day // 7 # ajout du nombres de semaines
day -= week * 7 # suppression des semaines dans le nombre du jour
yearINT = year # besoin pour le message age[0] final
year = f"{year} an{'s' if year > 1 else ''}" if year > 0 else ""
weekINT = week # besoin pour le message age[0] final
week = f"{week} semaine{'s' if week > 1 else ''}" if week > 0 else ""
day = f"{day} jour{'s' if day > 1 else ''}" if day > 0 else ""
age[0] = f"{year}{', ' if yearINT > 0 else ''}{week}{', ' if weekINT > 0 else ''}{day}"
else:
age[0] = ""
age[1] = f"{age[1]}h" if affichage[1] == 1 else ''
age[2] = f"{age[2]}m" if affichage[2] == 1 else ''
age[3] = f"{age[3]}s" if affichage[3] == 1 else ''