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)