Aller au contenu

Bot support et prise de rendez-vous

Pour l'équipe Velora : le bot Telegram du support et le calendrier iCloud des appels.

15 min

Ce guide sert à l'équipe qui fait tourner Velora, pas aux agences. Il branche deux choses : le bot Telegram qui répond aux questions sur la page Support, et la page Réserver un appel reliée au calendrier iCloud.

Avant de commencer

  • Un accès aux variables d'environnement de l'app (Railway ou Vercel).
  • Telegram sur ton téléphone.
  • Le compte Apple qui porte le calendrier « Réunion ».

Le bot Telegram

  1. Crée le bot. Dans Telegram, ouvre @BotFather, envoie /newbot, puis choisis un identifiant qui finit par bot, par exemple VeloraSupportBot. Copie le jeton.
  2. Crée le groupe de l'équipe. Un groupe Telegram avec toi et l'assistante, puis ajoute le bot comme membre. Le bot ne lit que les réponses à ses propres messages : pas besoin de le passer admin.
  3. Récupère l'id du groupe. Envoie un message dans le groupe, puis ouvre https://api.telegram.org/bot<JETON>/getUpdates dans ton navigateur avant l'étape 5. L'id commence par -100.
  4. Remplis les variables. SUPPORT_TELEGRAM_BOT_TOKEN (le jeton), SUPPORT_TELEGRAM_WEBHOOK_SECRET (le résultat de openssl rand -hex 32), SUPPORT_TEAM_CHAT_ID (l'id du groupe) et NEXT_PUBLIC_SUPPORT_TELEGRAM_URL (par exemple https://t.me/VeloraSupportBot). ANTHROPIC_API_KEY est facultative : avec elle, Claude répond à partir des guides ; sans elle, le bot cherche par mots-clés.
  5. Branche le webhook. Une fois l'app redéployée, lance le script depuis apps/web : ../../packages/db/node_modules/.bin/tsx scripts/support-bot-setup.ts. Il pose le webhook avec son secret et le menu des commandes en français, anglais et espagnol. --check affiche l'état sans rien changer.
  6. Teste. Écris /start au bot, puis touche « Parler à un humain ». Le message arrive dans le groupe : réponds-y avec la fonction Répondre de Telegram, la personne reçoit ta réponse. Réponds /fin pour rendre la main au bot.

Le calendrier iCloud

  1. Crée un mot de passe pour app. Sur appleid.apple.com, ouvre Connexion et sécurité, puis Mots de passe pour app, et crée-en un nommé « Velora ». Ce n'est pas le mot de passe de ton identifiant Apple.
  2. Remplis les variables. ICLOUD_CALDAV_USER (l'e-mail de l'identifiant Apple), ICLOUD_CALDAV_APP_PASSWORD (le mot de passe pour app) et ICLOUD_CALDAV_CALENDAR (Réunion, le nom exact du calendrier).
  3. Choisis ce qui bloque les créneaux. Par défaut, seuls les événements du calendrier « Réunion » occupent un créneau. Mets ICLOUD_CALDAV_BUSY_CALENDARS=* pour tenir compte de tous tes calendriers, ou une liste de noms séparés par des virgules.
  4. Ajoute le lien de visio si tu en as un. BOOKING_MEETING_URL (un lien https fixe) part dans l'e-mail et dans l'événement.
  5. Teste. Réserve un créneau sur /fr/reserver-un-appel. L'appel apparaît dans « Réunion », l'e-mail de confirmation arrive avec l'invitation, et le groupe Telegram reçoit l'annonce. Le lien d'annulation de l'e-mail libère le créneau et retire l'événement.

Si ça ne marche pas

  • Le bot ne répond pas → lance le script avec --check : il affiche la dernière erreur du webhook. Vérifie que le secret est le même dans l'app et dans le script.
  • La réponse de l'assistante n'arrive pas → elle doit répondre au message du bot avec Répondre, pas écrire un nouveau message.
  • Aucun créneau sur la page → le calendrier iCloud ne répond pas ou le nom ne correspond pas. Sans les variables iCloud, la page marche avec les seuls rendez-vous déjà pris.
  • Le mot de passe pour app a fuité → révoque-le sur appleid.apple.com et crée-en un autre.

Liens officiels