Telegram

La integración de Telegram con Dialogflow te permite crear fácilmente bots de Telegram con comprensión del lenguaje natural basada en la tecnología de Dialogflow.

Limitaciones

Esta integración solo admite el idioma predeterminado del agente.

Configura Telegram

A fin de configurar la integración de Telegram para tu agente, necesitarás lo siguiente:

Crea un bot en Telegram

  1. Accede a Telegram y ve a https://telegram.me/botfather.
  2. Haz clic en el botón Comenzar en la interfaz web o escribe/comienza.
  3. Haz clic en /newbot o escríbelo y, luego, ingresa un nombre.
  4. Ingresa un nombre de usuario para el bot, que termine en "bot" (p. ej., garthsweatherbot).
  5. Copia el token de acceso que se generó:

Configura Dialogflow

  1. En Dialogflow, ve a Integraciones en el menú de la izquierda.
  2. Haz clic en el mosaico Telegram.
  3. Pega el Token de acceso en el campo relacionado.
  4. Haz clic en el botón Start (Iniciar):

Realiza pruebas

BotFather proporcionará un vínculo a tu bot una vez que hayas completado la configuración. Ve a este vínculo para probar tu agente.

Vuelve a generar el token de Telegram

A fin de volver a generar el token de Telegram para un agente con integración en Telegram habilitada, haz lo siguiente:

  1. Ve a la configuración de integración de Dialogflow y haz clic en DETENER.
  2. Vuelve a generar el token en Telegram.
  3. Ingresa el nuevo token de Telegram en la configuración de integración y haz clic en INICIAR.

Integra un bot de Telegram nuevo en un agente

Sigue estos pasos para vincular un bot de Telegram nuevo a un agente con integración de Telegram habilitada:

  1. Ve a la configuración de integración de Dialogflow y haz clic en DETENER.
  2. Si es necesario, borra el bot anterior en Telegram.
  3. Ingresa el nuevo token de Telegram en la configuración de integración y haz clic en INICIAR.

Eventos

Esta integración activa los siguientes eventos:

Evento Descripción
TELEGRAM_WELCOME Se activa cuando un usuario inicia una conversación con el bot de Telegram o escribe /start.
TELEGRAM_HELP Se activa cuando un usuario ingresa /help mientras conversa con el bot de Telegram.
TELEGRAM_SETTINGS Se activa cuando un usuario ingresa /settings mientras conversa con el bot de Telegram.

Mensajes de respuesta enriquecida

Se admiten los siguientes mensajes de respuesta enriquecida.

Respuestas de imagen

Formatos y tamaños admitidos:

  • Tamaño máximo de 5 MB

Respuestas con tarjeta

El campo URL de la imagen o el campo de título son obligatorios.

Se admiten botones con una URL y con una devolución de texto. Cuando se presiona un botón con una URL, se abre una página web. En cambio, cuando se presiona botón de texto, se envía ese texto como consulta del usuario.

Respuestas rápidas

Las respuestas rápidas en las integraciones con un clic de Telegram corresponden a los botones del teclado en Telegram.

Cuando un usuario hace clic en uno de los botones, se descartan los botones. Esto impide el problema de que los usuarios puedan hacer clic en botones adjuntos a mensajes anteriores de una conversación.

Respuestas con carga útil personalizada

Hipervínculos y texto con formato en la integración con un clic para Telegram

Tus bots de Telegram pueden enviar hipervínculos y texto con formato.

En el siguiente ejemplo, se envía texto con formato con un hipervínculo mediante el modo de análisis Markdown:

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

Consulta la documentación de Telegram como referencia.

Botones de teclado intercalados

En el siguiente ejemplo, se muestra cómo puedes definir botones de teclado intercalados en el elemento de carga útil personalizado.

{
  "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"
          }
        ]
      ]
    }
  }
}