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.
Requisitos y límites de Telegram
1. Límites de mensajes
Mensaje solo de texto: Máximo de 4.096 caracteres.
Mensaje con una imagen: Máximo de 1.024 caracteres (para una imagen de 1080x1080 px).
2. Requisitos de imagen
Formato: Se prefieren imágenes cuadradas.
Tamaño óptimo: 900x900 píxeles, máximo 5 MB.
3. Requisitos de archivo
La API de Telegram tiene requisitos específicos para los archivos cargados:
Los bots pueden enviar archivos de hasta 2 GB.
Puedes usar file_id para trabajar con archivos subidos anteriormente. En este caso, los límites de archivo siguen la documentación de Telegram.
Los archivos pueden enviarse usando un URL (el bot lo descarga y lo envía):
Fotos: ≤ 5 MB
Otros archivos: ≤ 20 MB
Se aplican límites diferentes para la publicación:
Fotos: 10 MB
Otros archivos: 2 GB
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:
Inicia un chat por BotFather.
Envía el comando:
/newbotElige un nombre para tu bot (este es el nombre visible para los usuarios).
Elige un nombre de usuario para tu bot. Debe obligatoriamente terminar en
boto_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
¡Ten en cuenta!
No está disponible guardar variables en chats de grupo para eventos como unirse a un chat, salir de un chat, nuevo like, etc.
Las variables solo estarán disponibles dentro del bloque que haya funcionado. Puedes mostrar estas variables en el bloque para seguir el trabajo.
Esto NO afectará de ninguna manera el funcionamiento de los chatbots; será imposible seguir quién entró/salió en la sección de clientes.
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ó.
¡Ten en cuenta!
¡Los callbacks para reacciones no se muestran en los canales de Telegram! Los callbacks para reacciones solo llegan en grupos.
Si una persona ha dado varios likes y luego elimina 1 de ellos, no se muestra cuál fue eliminado.
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.
¡Ten en cuenta!
Estas variables solo funcionarán para grupos de Telegram, pero no para canales.
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".

¡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