Un bot Telegram minuscule qui répond en 1 seconde : « est-ce que la piscine X est ouverte en ce moment ? ». Ce que le site de la piscine devrait faire mais ne fait pas.

Les commandes

  • /today pool_name — horaires du jour
  • /now — liste toutes les piscines, indique qui est ouvert
  • /now pool_name — spécifique
  • /closest — basé sur ta localisation Telegram partagée

C'est tout. Pas de menus, pas d'inscription, pas de persistance. Tu demandes, ça répond.

Stack

  • Go parce que j'aime Go et que ça compile en 1 binaire déployable nulle part
  • Telegram Bot API parce que c'est l'un des rares trucs où on peut bidouiller sans ouvrir 10 comptes
  • Postgres minuscule pour mettre en cache les horaires (grattés 1 fois par semaine sur les sites des piscines)

Ce qui a été chiant

  • Scraper les horaires de chaque piscine. Chaque site est différent. J'ai codé 8 scrapers différents. Un changement de site = scraper cassé = tout à refaire.
  • Gérer les jours fériés et vacances scolaires. Les horaires changent. J'ai fini par coder des règles d'exception manuelles.

Les améliorations possibles

  • OCR sur les photos d'affichettes aux entrées de piscine, postées par des usagers. Le scraper ne serait plus la source de vérité.
  • Notifs : « la piscine X ferme dans 30 min, t'as encore une nage ? »