Telegram

L'intégration de Dialogflow à Telegram vous permet de créer facilement des bots Telegram avec une compréhension du langage naturel basée sur la technologie Dialogflow.

Limites

Seul la langue par défaut de l'agent est compatible avec cette intégration.

Configurer Telegram

Pour configurer l'intégration Telegram pour votre agent, vous devez disposer des éléments suivants :

Créer un bot dans Telegram

  1. Connectez-vous à Telegram et accédez à la page https://telegram.me/botfather.
  2. Cliquez sur Start (Démarrer) dans l'interface Web ou entrez "/start" (/démarrer).
  3. Cliquez sur /newbot (/NouveauBot) ou saisissez cette commande, puis entrez un nom.
  4. Entrez un nom d'utilisateur pour le bot. Il doit se terminer par "bot" (par exemple, garthsweatherbot).
  5. Copiez le jeton d'accès généré.

Configurer Dialogflow

  1. Dans Dialogflow, accédez à Intégrations dans le menu de gauche.
  2. Cliquez sur la tuile Telegram.
  3. Collez le jeton d'accès dans le champ correspondant.
  4. Cliquez sur le bouton Start (Démarrer).

Tester

Une fois la configuration terminée, BotFather fournit un lien vers votre bot. Cliquez sur ce lien pour tester votre agent.

Régénérer le jeton Telegram

Pour régénérer le jeton Telegram avec un agent dont l'intégration Telegram est activée, procédez comme suit :

  1. Accédez aux paramètres d'intégration Dialogflow, puis cliquez sur ARRÊTER.
  2. Régénérez le jeton dans Telegram.
  3. Saisissez le nouveau jeton Telegram dans les paramètres d'intégration, puis cliquez sur DÉMARRER.

Intégrer l'agent à un nouveau Bot Telegram

Pour associer un agent dont l'intégration Telegram est activée à un nouveau bot Telegram, procédez comme suit :

  1. Accédez aux paramètres d'intégration Dialogflow, puis cliquez sur ARRÊTER.
  2. Supprimez l'ancien bot dans Telegram si nécessaire.
  3. Saisissez le nouveau jeton Telegram dans les paramètres d'intégration, puis cliquez sur DÉMARRER.

Événements

Les événements suivants sont déclenchés par cette intégration :

Événement Description
TELEGRAM_WELCOME Déclenché lorsqu'un utilisateur démarre une conversation avec votre bot Telegram ou saisit /start.
TELEGRAM_HELP Déclenché lorsqu'un utilisateur saisit /help pendant une conversation avec votre bot Telegram.
TELEGRAM_SETTINGS Déclenché lorsqu'un utilisateur saisit /settings pendant une conversation avec votre bot Telegram.

Messages de réponses enrichies

Les messages de réponses enrichies suivants sont acceptés.

Réponses sous forme d'images

Formats et tailles acceptés :

  • Taille maximale de 5 Mo

Réponses sous forme de fiches

Le champ d'URL de l'image ou le champ de titre sont obligatoires.

Les boutons associés à une URL et à un postback de texte sont acceptés. Lorsqu'un utilisateur appuie sur un bouton contenant une URL, une page Web s'ouvre. Lorsqu'un utilisateur appuie sur un bouton contenant du texte, le texte est envoyé sous la forme d'une requête utilisateur.

Réponses rapides

Les réponses rapides dans les intégrations Telegram en un clic correspondent aux boutons du clavier dans Telegram.

Lorsqu'un utilisateur clique sur l'un des boutons, les boutons sont ignorés. Cela empêche les utilisateurs de cliquer sur des boutons associés à d'anciens messages dans une conversation.

Réponses avec charge utile personnalisée

Texte mis en forme et liens hypertexte en un clic grâce à l'intégration Telegram

Les bots Telegram peuvent envoyer du texte mis en forme et des liens hypertexte.

L'exemple suivant permet d'envoyer du texte mis en forme avec un lien hypertexte à l'aide du mode d'analyse Markdown :

{
  "telegram": {
    "text": "You can read about *entities* [here](/docs/concept-entities).",
    "parse_mode": "Markdown"
  }
}

Pour en savoir plus, consultez la documentation Telegram.

Boutons de clavier intégré

L'exemple suivant montre comment définir des boutons de clavier intégré dans l'élément de charge utile personnalisée.

{
  "telegram": {
    "text": "Pick a color",
    "reply_markup": {
      "inline_keyboard": [
        [
          {
            "text": "Red",
            "callback_data": "Red"
          }
        ],
        [
          {
            "text": "Green",
            "callback_data": "Green"
          }
        ],
        [
          {
            "text": "Yellow",
            "callback_data": "Yellow"
          }
        ],
        [
          {
            "text": "Blue",
            "callback_data": "Blue"
          }
        ],
        [
          {
            "text": "Pink",
            "callback_data": "Pink"
          }
        ]
      ]
    }
  }
}