Ma copine a souvent des devoirs ajoutés dans un "cahier de texte" sur son espace étudiant MJM mais elle n'a pas de notification quand ca arrive. Avec ce script, elle recevra les notifications directement sur discord.
Plus précisément, il s'agit d'un programme server-side : il tourne sur un serveur et vous envoie des notifications sur Discord quand un devoir est ajouté sur MJM cloud. Il ne s'agit donc pas d'une application graphique à ouvrir sur son ordinateur.
- le programme accède à la page des devoirs de MJM cloud grâce à vos identifiants
- tous les quart d'heure, il vérifie que la page n'a pas changé.
- si elle a changé, il envoie un message sur Discord pour vous prévenir via une webhook
voilà ce que peut faire le programme:
- se connecter à MJM cloud
- récupérer les devoirs
- envoyer un message sur Discord quand des devoirs sont trouvés
- afficher le contenu des devoirs
- envoyer un message sur Discord quand un devoir est ajouté
- vérifier tous les quarts d'heures que les devoirs n'ont pas changé
Si vous avez une suggestion, n'hésitez pas à ouvrir une issue !
L'installation est très simple, il suffit de suivre les étapes suivantes :
git clone https://github.com/Oneloutre/MJM-notif.git
cd MJM-notif
pip install -r requirements.txt
📶 Python doit être >= 3.11 !!!! 📶
Une fois cela fait, vous pouvez lancer le programme avec la commande python main.py
.
Pensez à créer un .env contenant EMAIL, PASSWORD, WEBHOOK et WEBHOOK_LOG
Vous pouvez également utiliser Docker pour lancer le programme.
Pour cela, il suffit de lancer la commande suivante :
docker build -t mjm-notif . && docker run -it --name mjm-notifier --restart always mjm-notif
le programme va vous demander vos identifiants et l'url de la webhook. dès que vous les aurez entrés, le programme va tourner en arrière plan et vérifier toutes les quarts d'heure si des devoirs ont été ajoutés.
Utilisez le docker-compose.yml fourni pour lancer le programme. n'oubliez pas de remplacer les creds par défaut avec les votres.
Si vous souhaitez contribuer au projet, vous pouvez ouvrir une issue ou une pull request. Je serai ravi de vous lire !
- Onelots (
onelots.
sur discord)
- 1.0.1 : ajout d'un fichier log_webhook.txt (facultatif, à ajouter soi-même) pour garder un oeil sur le conteneur docker (à paramétrer manuellement mais comme le webhook.txt)
- 1.1.0 : nettoyage du code + ajout du docker-compose.yml
- 1.2.0 : The multi-arch update : compatible avec arm64, armv6, armv7, linux/arm/v6, linux/ppc64le, linux/s390x, armhf et amd64 !!!
- 1.2.1 : minor fixes (refactoring code to respect PEP8, fixing a little bug making everything restart without reason)