Skip to content

Commit

Permalink
Cleaned EDT code
Browse files Browse the repository at this point in the history
  • Loading branch information
MrBeam89 committed Jan 26, 2024
1 parent f8e490f commit 95a7477
Showing 1 changed file with 45 additions and 46 deletions.
91 changes: 45 additions & 46 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -403,56 +403,55 @@ async def edt(contexte, date):
await contexte.send("Date invalide!")
return None

user_info = db_handler.fetch_user_info(contexte.author.id)
if user_info:
await contexte.send(":hourglass: Veuillez patienter...")

# Récuperer identifiants et données
username = aes.decrypt_aes(user_info[2], keygen.getkey())
password = aes.decrypt_aes(user_info[3], keygen.getkey())
login_data = ecoledirecte.login(username, password).json()
# Vérifie si les identifiants de l'utilisateur sont dans la base de données et les récupère
identifiants = credentials_fetch(contexte.author.id)
if not identifiants:
await contexte.send(f"Vous n'êtes pas connecté! Utilisez {BOT_COMMAND_PREFIX}login <identifiant> <motdepasse>")
return None

username = identifiants[0]
password = identifiants[1]

# Si identifiants corrects
if login_data["code"] == 200:
token = login_data["token"]
eleve_id = login_data["data"]["accounts"][0]["id"]
# Vérifie la validité des identifiants et obtenir token et ID d'élève
await contexte.send(":hourglass: Veuillez patienter...")
api_credentials = credentials_check(username, password)
if not api_credentials:
logging.info(f"Echec de l'authentification de l'utilisateur {contexte.author.name} avec l'id {contexte.author.id}")
await contexte.send(f"Identifiant et/ou mot de passe changés! Veuillez **{BOT_COMMAND_PREFIX}logout** puis **{BOT_COMMAND_PREFIX}login**")
return None

edt_data = ecoledirecte.emploi_du_temps(eleve_id, token, date, date, "false").json()["data"]
edt_data = sorted(edt_data, key=lambda x: x['start_date']) # Arranger les cours dans le bon ordre

# Contenu de l'embed
titre = f":calendar_spiral: Emploi du temps du {date}"
message = ""
nb_de_cours = 0
for cours in edt_data:
if cours["matiere"].strip() : # Si cours n'est pas vide/permanence/congés
heure_debut = cours["start_date"][-5:]
heure_fin = cours["end_date"][-5:]
salle = cours["salle"]
nom = cours["text"]
est_annule = cours["isAnnule"]
if est_annule == True: # Si le cours est annulé
message += f"~~**{heure_debut}-{heure_fin}** : {nom} en {salle}~~\n"
else:
message += f"**{heure_debut}-{heure_fin}** : {nom} en {salle}\n"
nb_de_cours += 1


if nb_de_cours > 0:
embed = discord.Embed(title=titre, description=message, color=EMBED_COLOR)
await contexte.send(embed=embed)
# Obtenir les infos pour l'API
token = api_credentials["token"]
eleve_id = api_credentials["eleve_id"]

edt_data = ecoledirecte.emploi_du_temps(eleve_id, token, date, date, "false").json()["data"]
edt_data = sorted(edt_data, key=lambda x: x['start_date']) # Arranger les cours dans le bon ordre

# Contenu de l'embed
titre = f":calendar_spiral: Emploi du temps du {date}"
message = ""
nb_de_cours = 0
for cours in edt_data:
if cours["matiere"].strip() : # Si cours n'est pas vide/permanence/congés
heure_debut = cours["start_date"][-5:]
heure_fin = cours["end_date"][-5:]
salle = cours["salle"]
nom = cours["text"]
est_annule = cours["isAnnule"]
if est_annule == True: # Si le cours est annulé
message += f"~~**{heure_debut}-{heure_fin}** : {nom} en {salle}~~\n"
else:
embed = discord.Embed(title=titre, description="**:tada: Pas de cours ce jour-là !**", color=EMBED_COLOR)
await contexte.send(embed=embed)

# Si identifiants changés
if login_data["code"] == 505:
await contexte.send("Identifiant et/ou mot de passe invalide!")

# Si identifiants changés
message += f"**{heure_debut}-{heure_fin}** : {nom} en {salle}\n"
nb_de_cours += 1

if nb_de_cours > 0:
embed = discord.Embed(title=titre, description=message, color=EMBED_COLOR)
await contexte.send(embed=embed)
else:
await contexte.send(f"Vous n'êtes pas connecté! Utilisez {BOT_COMMAND_PREFIX}login <identifiant> <motdepasse>")
logging.info(f"Utilisateur {contexte.author.name} a essaye de {BOT_COMMAND_PREFIX}edt sans être connecte")
embed = discord.Embed(title=titre, description="**:tada: Pas de cours ce jour-là !**", color=EMBED_COLOR)
await contexte.send(embed=embed)

logging.info(f"Utilisateur {contexte.author.name} a utilisé {BOT_COMMAND_PREFIX}edt")

# Notes (WIP)
@bot.command()
Expand Down

0 comments on commit 95a7477

Please sign in to comment.