Cómo hacer un bot de Telegram

Este artículo explica cómo conectar tu bot de Telegram y ofrece los fundamentos para trabajar con canales y grupos.

circle-exclamation

Requisitos y límites de Telegram

Creación de bots de Telegram

Un bot de Telegram se crea a través de BotFather, el sistema oficial de gestión de bots de Telegram. Esta herramienta verificada (indicada por una marca azul) te permite crear un bot sin conocimientos de programación y te protege de imitadores fraudulentos.

Pasos de creación:

  1. Inicia un chat por BotFatherarrow-up-right.

  2. Envía el comando: /newbot

  3. Elige un nombre para tu bot (este es el nombre visible para los usuarios).

  4. Elige un nombre de usuario para tu bot. Debe obligatoriamente terminar en bot o _bot (p. ej., my_test_bot).

Si el nombre de usuario está disponible, BotFather te enviará un mensaje de confirmación que contiene un "token"—una clave única para el acceso a la API.

Importante: Este token es una contraseña para tu bot. Guárdalo de forma segura y nunca lo compartas con nadie.

Ve a la Mensajeros sección, selecciona Telegram, y pega el token de tu bot en el campo proporcionado.

Haz clic en el Hecho botón para completar la configuración del bot y activar la conexión con tu proyecto.

Trabajar con grupos/canales de Telegram

Información útil

Un grupo de Telegram es un canal de comunicación entre participantes: todos los participantes pueden escribir en él.

El canal de Telegram es un medio de comunicación unidireccional. Solo el propietario o los administradores pueden enviar mensajes, mientras que el resto de los participantes solo puede verlos y dejar comentarios.

Cómo añadir un bot a un grupo/canal de Telegram

Esta función para el bot está incluida en BotFather:

Paso 1. Ve a la configuración del bot:

Paso 2. Haz clic en "¿Permitir grupos?"

Paso 3. Debe aparecer un estado habilitado.

Añadir un bot como administrador en un grupo/canal

Para automatizar el trabajo en chats y canales, necesitas añadir tu propio bot como Administrador.

¿Cómo hacerlo?

Paso 1. Ve a la gestión de Grupo/Canal y selecciona la Los administradores pestaña

Paso 2. Haz clic en "Añadir admin" botón.

Paso 3. Introduce el nombre de usuario de tu bot en el cuadro de búsqueda.

Paso 4. Para una funcionalidad completa, asegúrate de que el bot tenga permisos para leer y eliminar mensajes.

Variables para trabajar en chats

circle-exclamation
  • Variables con información sobre el autor del mensaje

message_from - el ID del autor del mensaje

message_from_name - el nombre del autor del mensaje

message_from_username - el apodo del autor del mensaje en Telegram

  • Variables con información sobre el mensaje reenviado

reply_message_id - el número del mensaje que se está reenviando

reply_from - quién es el autor del mensaje reenviado

reply_from_name - el nombre de la persona cuyo mensaje se está reenviando

reply_from_username - el apodo de la persona cuyo mensaje se está reenviando

reply_from_chat_id - el número del diálogo desde el que se reenviaron los mensajes

  • Añadir y eliminar de un grupo

En este caso, se activan los callbacks new_chat_member y left_chat_member (las variables no se guardan en la ficha del cliente):

chat_member_name - nombre de usuario

chat_member_username - apodo del usuario

chat_member_id - número del usuario

Callbacks en Telegram

client_unsubscribed - el cliente se ha dado de baja, ha bloqueado el bot

client_returned - el cliente ha desbloqueado el bot

Callbacks en grupos/canales

new_chat_member - se ha añadido un nuevo usuario

left_chat_member - el usuario ha salido del canal

kicked_chat_member - el usuario fue eliminado por el administrador

chat_join_request - se ha recibido una solicitud para unirse al canal

edited_channel_post - la publicación en el canal ha sido editada (edited_channel_post + fecha y hora de la edición)

Los callbacks se muestran en la Clientes sección

bot_added_to_group - se ha añadido un bot al chat (no importa cuál, responderá a cualquiera, incluso si el bot conectado fue añadido al propio grupo);

bot_left_group - un callback similar es eliminar el bot del canal;

new_like - le gustó la publicación

like_deleted - se eliminó un like de la publicación

El número en el callback (new_like; like_deleted) es el ID del mensaje al que se respondió o del que se eliminó.

circle-exclamation

Cuando aparecen callbacks con reacciones en grupos, las variables están disponibles en el bloque:

reaction_on_message_id - contiene el ID del mensaje al que se respondió

reaction_from - id de quien hubo una reacción

message_from_username - nombre de usuario de quien hubo una reacción (si lo hay)

reaction_from_name - nombre de quien hubo la reacción

Además, si Telegram responde a un mensaje, la variable reply_text en la tarjeta contendrá el texto completo del mensaje al que se respondió.

Si un mensaje fue enviado como respuesta (citando un mensaje anterior), el sistema también generará la tg_quote variable, que contiene el texto citado.

Callbacks con boost

  • chat_boost_from usuario #{id_user} - dio un boost al chat (o canal):

Cuando se activa este callback, se generan variables:

  • remove_boost_from usuario #{id_user} - se retiró el boost del chat (o canal):

Cuando se activa este callback, se generan variables:

  • chat_boost from giveaway - emitido durante el sorteo de estrellas en el canal

  • remove_chat_boost from giveaway - el período de boost para el sorteo de estrellas en el canal ha terminado

Cómo automatizar la eliminación de notificaciones del sistema en grupos

Para eliminar automáticamente todos los mensajes del sistema, basta con asignar cualquier valor a la variable del_tg_system_messages (la variable puede ser una constante del proyecto o una variable de transacción) y dar permiso al bot para eliminar mensajes.

La variable del_tg_system_messages solo se puede usar en grupos. En los canales, asignar cualquier valor a esta variable no dará ningún resultado.

Derechos de administrador en la configuración de grupos de Telegram

Se eliminan los siguientes tipos de notificaciones del sistema:

- El nombre del grupo ha sido cambiado

- La foto del grupo ha sido cambiada

- Foto del grupo eliminada

- El mensaje está fijado

- El usuario se unió al grupo

- El usuario ha salido del grupo

Si quieres eliminar solo tipos seleccionados de notificaciones del sistema, entonces en lugar de la variable del_tg_system_messages, crea la variable del_tg_chosen_messages y pon en ella un array con los tipos de notificaciones a eliminar, separados por comas.

circle-exclamation

Opciones de notificación del sistema:

  • 'new_chat_member' – el usuario se unió al grupo,

  • 'left_chat_member' – el usuario salió del grupo,

  • 'pinned_message' – el mensaje está fijado,

  • 'delete_chat_photo' – foto del grupo eliminada,

  • 'new_chat_photo' –la foto del grupo ha sido cambiada,

  • 'new_chat_title' – el nombre del grupo ha sido cambiado

Por ejemplo, necesitas eliminar todo tipo de mensajes del sistema excepto unirse a un grupo; entonces debes añadir todo tipo de callbacks a la variable constante del proyecto excepto "new_chat_member".

circle-info

¡Ten en cuenta!

Eliminar notificaciones del sistema no afectará a los callbacks. Solo se eliminará el mensaje del sistema del diálogo de Telegram.

Foro en Telegram

Un foro es un grupo en el que puedes crear temas separados para la discusión. Puedes usar funciones estándar en el foro: adjuntar archivos multimedia, publicar encuestas y configurar notificaciones. También puedes fijar mensajes y añadir bots individuales a cada chat.

El propósito principal de un foro es estructurar la comunicación dentro de una gran comunidad.

En un chat de grupo estándar con muchos participantes, seguir las conversaciones y encontrar mensajes relevantes se vuelve difícil. Los foros resuelven esto organizando las discusiones en hilos temáticos dedicados. Esto segmenta automáticamente la comunidad por tema e interés, haciendo la comunicación más enfocada y manejable.

Solo el propietario del grupo puede crear un tema si hay más de 100 miembros en el grupo. Si el grupo está vinculado a un canal, entonces no podrás crear un tema. Los temas están habilitados en la Configuración del grupo:

Como administrador, puedes crear un tema en la configuración del grupo del foro:

Después de conectar los Temas, el avatar cambiará de redondo a cuadrado, lo que te permite distinguir el foro de otros chats de Telegram:

¿Cómo configurar un paquete de cliente de Telegram con un sitio web?

Lee más sobre cómo vincular un cliente de Telegram y un cliente del sitio web después de un pago exitoso aquí.

Última actualización