Añadir botones callback en Telegram

En Telegram se llama botones callback a los botones que, al pulsarlos, envían una solicitud al bot. La respuesta del bot se muestra en una ventana emergente.

Junto con la solicitud, el bot recibe información sobre quién ha pulsado el botón. Por eso puede responder de forma distinta a cada usuario, por ejemplo, insertando su nombre en el texto de la respuesta.

FLOWIN permite añadir automáticamente botones callback a los mensajes reenviados, trasladar a ellos parte del texto, copiar botones existentes y recopilar estadísticas de clics.

Al pulsar el botón se abre una nota oculta con los detalles

Para qué sirven los botones callback

Puedes ocultar detalles importantes de un mensaje en un botón callback. Por ejemplo, en un canal de inversión puedes dejar en el texto la idea de la operación y el nombre de la acción, y mostrar el precio de compra o venta, el stop-loss y el take-profit solo después de pulsar el botón. Si alguien copia automáticamente solo el texto del mensaje, esas condiciones no aparecerán en la copia.

Para obtener la señal completa, hay que pulsar el botón. FLOWIN registrará el clic y en las estadísticas se verá quién ha abierto los detalles y cuándo. Esto ayuda a encontrar a quienes recopilan tu contenido automáticamente. También es posible copiar la propia respuesta, por lo que el botón dificulta la copia, pero no la impide.

Limitación para los álbumes

No se añaden botones callback a los álbumes normales de varias fotos o vídeos.

Generación de un botón callback

En el modo «Generación», FLOWIN añade un botón nuevo al mensaje reenviado. Tú indicas su nombre y eliges qué mostrar después del clic: una respuesta escrita de antemano o un fragmento del propio mensaje.

Para configurarlo necesitas un reenvío activado en el modo «Copia». Como cuenta remitente, elige un bot conectado mediante token, ya que solo los bots pueden enviar mensajes con botones callback.

Como ejemplo, utilizaremos una señal sobre las acciones de una empresa ficticia. Trasladaremos las condiciones de la operación de la línea «Detalles» al botón «Más información»:

Ejemplo de señal de inversión

Acciones de la empresa «Vector». Idea: compra en la ruptura de la resistencia.
Detalles: compra 150 ₽; stop-loss 145 ₽; take-profit 165 ₽.

  1. Abre @flow_in_bot, envía el comando /start y pulsa «Panel de control».

    Acceso al panel de control a través de @flow_in_bot
    Acceso al panel de control a través de @flow_in_bot.
  2. Abre «Menú» → «Botones» → «Botones callback». Pulsa «Crear» y elige «Generación».

    Sección «Botones callback» en el menú de FLOWIN
    Sección «Botones callback» en el menú de FLOWIN.
    Creación de un botón en el modo «Generación»
    Creación de un botón en el modo «Generación».
  3. En «Nombre», introduce «Más información». En «Contenido», pega <regexp>(?<=Detalles: ).*$</regexp>. Este patrón selecciona el texto situado después de «Detalles: ». Pulsa «Crear».

    Nombre y patrón del contenido del botón
    Nombre y patrón del contenido del botón.
  4. En el botón creado, pulsa «Aplicar». En la ventana «Selección de reenvíos», marca el reenvío que necesites y pulsa «Guardar».

    Aplicación del botón creado al reenvío
    Aplicación del botón creado al reenvío.
    Selección del reenvío con un bot como cuenta remitente
    Selección del reenvío con un bot como cuenta remitente.
  5. Envía el ejemplo al chat de origen. En el chat de destino aparecerán puntos suspensivos en lugar de las condiciones de la operación. Pulsa «Más información»: se mostrarán el precio de compra, el stop-loss y el take-profit.

    Señal original con el precio de compra, el stop-loss y el take-profit
    Señal original con el precio de compra, el stop-loss y el take-profit.
    Condiciones de la operación trasladadas al botón «Más información»
    Condiciones de la operación trasladadas al botón «Más información».
    Al pulsar «Más información» se muestra el texto trasladado
    Al pulsar «Más información» se muestra el texto trasladado.

Copia de los botones callback originales

El modo «Copia» sirve cuando el mensaje original ya tiene un botón callback. FLOWIN leerá su respuesta y añadirá al mensaje reenviado un botón con el mismo nombre y texto.

Para copiarlo también necesitas un reenvío en el modo «Copia», con un bot conectado mediante token como cuenta remitente. La cuenta de escucha, es decir, la cuenta que lee los mensajes del chat de origen, será la que pulse el botón original. Comprueba que el botón le responda con texto.

Qué respuesta verán los lectores

FLOWIN guarda la respuesta que el bot original ha mostrado a la cuenta de escucha. En la copia, el texto será el mismo para todos los lectores, aunque el botón original respondiera de forma distinta a cada uno. No se transfieren las demás acciones del botón ni la conversación con el bot.

  1. Abre «Menú» → «Reenvíos» y pulsa «Configuración» en el reenvío correspondiente.

    Acceso a la lista de reenvíos
    Acceso a la lista de reenvíos.
    Acceso a la configuración del reenvío correspondiente
    Acceso a la configuración del reenvío correspondiente.
  2. En la ventana de configuración, abre la pestaña «Botones». En «Lectura de botones», activa «Botones callback» y pulsa «Guardar».

    Lectura de botones callback en la configuración del reenvío
    Lectura de botones callback en la configuración del reenvío.
  3. Abre «Menú» → «Botones» → «Botones callback». Pulsa «Crear» y elige «Copia».

    Acceso a los botones callback para configurar la copia
    Acceso a los botones callback para configurar la copia.
    Creación de una configuración en el modo «Copia»
    Creación de una configuración en el modo «Copia».
  4. En la ventana que se abre, pulsa «Crear».

    Creación de una configuración de copia de botones
    Creación de una configuración de copia de botones.
  5. En la configuración creada, pulsa «Aplicar». En la ventana «Selección de reenvíos», marca el reenvío que tiene activada la lectura de botones y pulsa «Guardar».

    Aplicación de la copia al reenvío
    Aplicación de la copia al reenvío.
    Selección del reenvío con la lectura de botones activada
    Selección del reenvío con la lectura de botones activada.
  6. Envía al chat de origen una señal nueva con un botón. En el chat de destino, abre el botón copiado: el nombre y las condiciones de la operación deben coincidir con los originales.

    Botón original y su respuesta de texto
    Botón original y su respuesta de texto.
    El botón copiado muestra la misma respuesta
    El botón copiado muestra la misma respuesta.

Cómo modificar un botón callback

Para modificar un botón ya creado, abre la lista «Botones callback».

  1. Pulsa «Cambiar» en el botón correspondiente.

    Acceso a la configuración principal del botón
    Acceso a la configuración principal del botón.
  2. Modifica los campos que necesites y pulsa «Guardar». Comprueba los datos nuevos en la lista.

    Guardado de la descripción modificada
    Guardado de la descripción modificada.
    Descripción nueva en la lista de botones
    Descripción nueva en la lista de botones.

Configuración de los botones callback

En el modo «Generación» están disponibles los cinco campos que se describen a continuación. En el modo «Copia» solo puedes modificar «Color» y «Descripción», ya que el nombre y el contenido se toman del botón original.

Nombre

Indica el texto que se verá en el botón, por ejemplo, «Más información». Este campo es obligatorio.

Puedes utilizar metaetiquetas que insertan datos del mensaje. Por ejemplo, <src-chat-name> inserta el nombre del chat de origen.

Color

Elige una de las cuatro opciones: «Por defecto», «Azul», «Rojo» o «Verde». Si eliges «Por defecto», el botón nuevo tendrá el color estándar de Telegram y el copiado conservará su color original.

Colores disponibles para un botón callback
Colores disponibles para un botón callback.

Contenido

En este campo se define la respuesta que el lector verá al pulsar el botón. Es obligatorio rellenarlo: escribe un texto preparado o indica un patrón para buscar un fragmento del mensaje.

Para trasladar parte del mensaje al botón, encierra el patrón de búsqueda entre <regexp>…</regexp>. Por defecto se utiliza <regexp>\s.{20,180}$</regexp>: selecciona entre 20 y 180 caracteres al final del mensaje después de un espacio o un salto de línea. Si la respuesta queda vacía, FLOWIN no añadirá el botón.

Si escribes la respuesta como texto normal, sin <regexp>, el contenido del mensaje no cambiará. Puedes añadir a la respuesta las metaetiquetas <clicker-name> y <clicker-id>. FLOWIN las sustituirá por el nombre y el ID de Telegram de quien haya pulsado el botón. Por ejemplo, ¡Hola, <clicker-name>! se convertirá en un saludo con el nombre del lector.

Texto de reemplazo

Este texto aparecerá en el mensaje en lugar del fragmento trasladado al botón. Por defecto quedan puntos suspensivos .... Si dejas el campo vacío, el fragmento se eliminará sin sustituirlo por nada. Esta opción no modifica el mensaje si «Contenido» contiene una respuesta preparada sin un patrón de búsqueda.

Descripción

Aquí puedes dejar una nota sobre la finalidad del botón. Puedes dejar el campo vacío: no afecta al funcionamiento del botón.

Cómo elegir los mensajes para el botón

Para añadir el botón solo a determinados mensajes, vincúlale un filtro, por ejemplo, con la palabra «acciones». Los mensajes sin esa palabra se reenviarán, pero sin el botón. Si vinculas ese filtro al propio reenvío, no se enviarán los mensajes que no contengan «acciones». La configuración se describe en la guía de filtros.

Otras acciones con los botones

Junto a cada configuración de la lista «Botones callback» está el menú «Más». Incluye las siguientes acciones:

  • «Aplicar» abre la selección de reenvíos en los que funcionará el botón.
  • «Duplicar» crea una copia de la configuración.
  • «Seleccionar proyecto» añade el botón a un proyecto.
  • «Eliminar» elimina la configuración.
Otras acciones con un botón callback
Otras acciones con un botón callback.

Puedes ver los reenvíos ya seleccionados mediante «Reenvíos [1]». El número entre corchetes indica cuántos hay. En esa ventana puedes añadir reenvíos o quitar aquellos donde ya no necesites el botón.

Cómo consultar las estadísticas de clics

Las estadísticas muestran quién pulsa tus botones y cuánto tarda en abrirlos después de la publicación. Los datos se recopilan por chat de destino: incluyen los botones de todos los reenvíos a ese chat.

  1. Abre «Reenvíos» en el menú del panel. En el reenvío correspondiente, pulsa «Botones callback», junto al número de configuraciones vinculadas.

    Acceso a las estadísticas de clics desde el reenvío
    Acceso a las estadísticas de clics desde el reenvío.
  2. En la lista «Últimos 10 botones», elige 10, 20 o 30. Aparecerán las estadísticas por usuario: nombre, ID de Telegram y clics.

    Clics de los usuarios y tiempo hasta el primer clic
    Clics de los usuarios y tiempo hasta el primer clic.

Cómo interpretar los indicadores:

  • La columna «clics» indica cuántos botones distintos ha pulsado el usuario. Por ejemplo, 3/5 significa que ha pulsado 3 de los 5 botones. Los clics repetidos no aumentan esta cifra.
  • «promedio» y «mediana» indican cuánto tiempo suele pasar hasta el primer clic. La mediana depende menos de los clics aislados con mucho retraso.
  • «mínimo» y «máximo» indican el menor y el mayor tiempo de espera hasta el primer clic.
  • En la fila de botones se destacan con color los que el usuario ha pulsado. El número indica el orden del primer clic y la cifra entre paréntesis, cuántas veces ha pulsado ese botón.

Si un usuario abre casi todas las señales nuevas con el mismo retraso breve, puede que las esté recopilando automáticamente. Compara la hora de sus clics con la aparición de tus señales en otro canal. Por sí solos, los clics rápidos no demuestran que haya una copia.

Preguntas frecuentes

¿Qué diferencia hay entre un botón inline y un botón callback?

Los botones inline se sitúan debajo del mensaje en Telegram. Al pulsarlos, pueden, por ejemplo, abrir un enlace o enviar una solicitud al bot. Un botón callback corresponde al segundo caso: en FLOWIN muestra una respuesta de texto. Si necesitas abrir un sitio web o un canal, utiliza un botón con enlace.

¿Qué diferencia hay entre una respuesta preparada y trasladar parte de una publicación al botón?

El texto preparado en «Contenido» define la respuesta del botón y no modifica la propia publicación. El patrón entre las etiquetas <regexp>…</regexp> toma un fragmento del mensaje y lo traslada a la respuesta. En lugar de ese fragmento aparece el valor de «Texto de reemplazo», que por defecto son puntos suspensivos. Ambas opciones se definen en la configuración del contenido.

¿Conservará el botón copiado las respuestas personalizadas del bot original?

No. FLOWIN guarda el texto que el bot original ha mostrado a la cuenta de escucha, es decir, a la cuenta que lee el chat de origen. Todos los lectores de la copia verán esa respuesta guardada, aunque el bot original respondiera de forma distinta a cada uno. No se transfieren la conversación con el bot ni las demás acciones del botón.

¿Por qué no se ha añadido el botón si el patrón no ha encontrado el fragmento buscado?

Si, después de procesar «Contenido», la respuesta está vacía o solo contiene espacios, FLOWIN no crea el botón. Esto ocurre cuando el campo solo contiene un patrón y no hay ningún fragmento que coincida en el mensaje. Prueba el patrón con el texto que reenvías. Ten en cuenta también la limitación: no se añaden botones callback a los álbumes normales de varias fotos o vídeos.

¿Un clic repetido aumenta el indicador «clics»?

No. La columna «clics» cuenta los botones distintos que ha pulsado el usuario. Por ejemplo, 3/5 significa tres botones de cinco, aunque haya pulsado uno varias veces. Las repeticiones se muestran por separado: la cifra entre paréntesis de cada botón indica cuántas veces se ha pulsado. Puedes consultar más detalles sobre los indicadores en la sección de estadísticas.

¿Se puede demostrar la copia automática a partir de clics rápidos?

No. Un retraso breve e idéntico antes del clic puede ser motivo para comprobar dónde aparece tu contenido, pero por sí solo no demuestra nada. Compara los clics con la aparición de los materiales en otro canal. El botón dificulta copiar solo el texto de la publicación, pero también se puede copiar su respuesta.