EDT Bot est un bot discord Open Source codé en Python par @Dany & @Kaawan et hébérgé par @VincentGonnet dont l'objectif est de faciliter l'accés des Etudiants de l'Université d'Orléans a leur Emploi du Temps
Modules utilisés (voir requirements.txt) (il y a déjà l'environnement virtuel python dans le dossier env) :
Pytz
: Gestion des Time ZonesInteractions.py
: Interaction avec l'API Discord (https://interactions-py.github.io/interactions.py/) (pip install discord-py-interactions --upgrade
)sentry_sdk
: Gestion des erreurs à distancedotenv
: Permet d'obtenir des éléments stockés dans le fichier keys.envpickle
: Pour la base de données.
Pour une éventuelle adaptation, il faudrait :
- Changer les Enums : subjects_table, Filiere, Group, RoleEnum
- Changer les données dans le fichier env
- Modifier Calendar.update_events selon le nombre de filière / d'ics
- Refaire un Calendar.parse_calendar en fonction des ics fournis
- Refaire un Event.get_event_from_data en fonction des ics fournis
- Event à adapter en fonction du nombre de filière
- Modifier FiliereFilter dans Filter
- Refaire entièrement le Fichier Onboard ou attribuer les rôles avec reaction role par exemple
- Dans Tool refaire / adapter
- get_filiere_as_filiere
- get_filiere
- ping_liste
- Modifier DBUser en fonction des besoins de filière
- Corriger les éventuels problèmes crée
Roles discord nécessaire dans cette version :
- Admin
- Perma
- Ingé
- TD 1 Inge
- TD 2 Inge
- TP A Inge
- TP B Inge
- TP C Inge
- TP D Inge
- TD 1 Inge Anglais
- TD 2 Inge Anglais
- TD 3 Inge Anglais
- TD 4 Inge Anglais
- Miage
- TD 1 Miage
- TD 2 Miage
- TP 1 Miage
- TP 2 Miage
- TP 3 Miage
- TD 1 Miage Anglais
- TD 2 Miage Anglais
- TD 3 Miage Anglais
- onboarded
- DAILY
- WEEKLY
- DAILY_ICS
- WEEKLY_ICS
Pour le fichier env, il faut :
- Le token du bot discord
TOKEN_BOT_DISCORD
- Le token sentry pour recevoir les erreurs
SENTRY_DSN
- En fonction du nombre de filières
- Le lien vers le fichier ics
INGEICS
- Le lien vers le fichier ics
MIAGEICS
- L'identifiant d'un salon discord où le bot pourra afficher certaine erreur (pas toute) et les logs
ERROR_CHANNEL_ID
- L'identifiant d'un salon discord où le bot pourra envoyer des embeds pour prévenir des changements d'emploi du temps
PING_CHANGE_CHANNEL_ID
- L'identifiant du serveur discord
SERVEUR_ID