Envoyer un Calendrier sur discord avec node-red
J'ai crée un bot discord, qui va lire le calendrier du labsud pour afficher s'il y a des nouvelles formations.
Ca a été une sacrée galère pour convertir le format ical vers quelque chose de lisible par contre, j'ai pas trouvé de plugins pour ça 😐
Bon le format en soit n'est pas compliqué donc ça va..
C'est loin d'être optimiser mais c'est fonctionnel !
J'ai aussi eu un soucis avec la comparaison, quand je lis le fichier il ajoute un \n à la fin d'où la fonction bug qui le retire.
Pour garder en mémoire la nouvelle version du calendrier je la mets dans la variable flow.
S'il n'y a pas de nouveaux ateliers, il ignore et ne relance pas de messages sur discord.
J'aurais pu comparer la version brute du calendrier mais il y a une variable (DTSTAMP) qui se met à jour à chaque requête donc c'était plus casse pied.
Voci le flow (pro-tip les identifiants ne sont pas sauvegardés dans les flows)
Dépendances (manage palettes)
- node-red-contrib-fs-ops
- node-red-contrib-discord
Node à changer
- Récupération HTTP Ical (Mettre lien vers ical)
- Calendrier.xml existe ? (Mettre chemin / nom du fichier)
- Lire calendrier.xml (Mettre chemin / nom du fichier)
- Créer calendrier.xml (Mettre chemin / nom du fichier)
- Ecrit calendrier.xml (Mettre chemin / nom du fichier)
- Envoi sur Discord (Token Discord / Channel ID)
- File Delete (Mettre chemin / nom du fichier)