Skip to content

Bot écrit en Python pour intégrer EcoleDirecte dans Discord

License

Notifications You must be signed in to change notification settings

MrBeam89/ecoledirecte-bot

Logo d'EcoleDirecte Bot

EcoleDirecte Bot

GitHub top language

GitHub License Chat on Discord GitHub issues GitHub pull requests GitHub Repo stars
Min Python version : 3.8+

Présentation · Guide de démarrage · Contribuer · Remerciements · Licence

Présentation

Un bot pour intégrer EcoleDirecte dans Discord avec discord.py

Possède plusieurs fonctionnalités telles que :

  • Stockage des informations d'identification : Utilise SQLite et AES-256 pour stocker vos identifiants chiffrés
  • Journalisation : Gardez une trace des actions effectuées par le bot ainsi que celles des utilisateurs
  • Fichier de configuration : Permet de changer les noms des fichiers, changer le préfixe des commandes, le niveau de journalisation et le cooldown entre les commandes
  • Cahier de texte : Obtenir les devoirs du jour sélectionné
  • Emploi du temps : Obtenir les cours du jour sélectionné
  • Vie scolaire : Voir vos absences, retards, punitions et encouragements
  • Notes (WIP) : Récupérer vos notes

Guide de démarrage

Prérequis

Vous aurez besoin des outils suivants :

  • Python 3 : Disponible ici
  • git : Disponible ici (optionnel)
  • Module discord : pip3 install discord.py
  • Module cryptography : pip3 install cryptography
  • Module requests : pip3 install requests
  • Module yaml : pip3 install pyyaml

Vous pouvez aussi installer les modules en même temps en exécutant : pip3 install -r requirements.txt

Installation

  1. Clonez ce dépôt avec git clone https://github.com/MrBeam89/ecoledirecte-bot.git ou téléchargez le ZIP.
  2. Allez dans le portail développeur de Discord ici et connectez-vous si nécessaire.
  3. Cliquez sur "New Application" en haut à droite de la page. Image
  4. Utilisez le nom que vous voulez. Image
  5. Cliquez sur "Bot", puis sur "Reset Token", puis sur "Yes, do it!". Image
  6. Copier votre token et enregistrez-le dans un fichier nommé token.txt situé dans le dépôt cloné. NE LE PARTAGEZ SURTOUT PAS. Image
  7. Activez toutes les "Privileged Gateway Intents" puis sauvegardez vos changements en cliquant sur "Save Changes". Image
  8. Cliquez sur "OAuth2", puis sur "URL Generator", dans la section "SCOPES", sélectionnez "bot", puis "Administrator" dans la section "BOT PERMISSIONS" et copiez le lien en bas de page. Image
  9. Suivez ce lien, sélectionnez votre serveur et cliquez sur "Continue" puis sur "Authorize". Vérifiez le Captcha. Image
  10. Le bot est prêt!

Démarrage

  • Sur Windows : Double-cliquez le fichier main.py
  • Sur Linux/Mac : Démarrez le terminal, accédez au répertoire du dépôt et tapez python3 main.py

Sur Discord, tapez la commande !aide, si tout est bien configuré, le bot devrait répondre avec ceci :

Commande !aide utilisée

🎉 Félicitations 🎉 ! Le bot est prêt à être utilisé !

Fichier de configuration

Vous pouvez changer facilement les paramètres du bot en modifiant le fichier config.yaml.

⚠️ AVERTISSEMENT ⚠️ : Si vous contribuez, il est recommandé de garder les extensions de fichier par défaut dans le fichier de configuration pour éviter tout upload de fichiers sensibles.

Contribuer

Bien que les fonctionnalités ont chacune une priorité, vous pouvez quand même ajouter celles avec une priorité plus basse malgré d'autres qui ont une priorité plus importante.

Pour celles qui n'ont pas été encore implémentées dans ecoledirecte.py, veuillez utiliser la documentation de l'API située ici.

Priorité : Haute

  • Connexion
  • Cahier de texte
  • Emploi du temps
  • Notes (WIP)
  • Vie scolaire
  • Fichier de configuration

Priorité : Moyenne

  • Timeline commune
  • Timeline
  • Documents administratifs
  • Leaderboard des notes
  • MP lors d'une nouvelle note/nouveaux devoirs/observations

Priorité : Basse

  • QCMs
  • Manuels numériques
  • Vie de la classe
  • Formulaires
  • Espaces de travail (non-implémentée)
  • Cloud (non-implémentée)
  • Téléchargement (non-implémentée)
  • Messagerie (non-implémentée)

Remerciements

  • L'équipe derrière la documentation de l'API : Le bot n'aurait jamais vu le jour sans eux !
  • @BinaryBytecode : Aide et conseils
  • Aleocraft : Testeur (pas sur GitHub)
  • Vous 🫵 : Si vous contribuez, ou si vous utilisez ce bot !

Merci à eux !

Licence

Ce bot est distribué sous la Licence Publique Générale GNU version 3.0 (GPLv3). Vous êtes libre d'utiliser, de modifier et de distribuer ce bot conformément aux termes de cette licence.