Eliminación automática de enlaces mediante un bot de chat en un grupo de Telegram
Qué enlaces hay que eliminar en un grupo de Telegram
Antes de configurar el filtro, fije una regla para los participantes y los moderadores. En Telegram no solo se considera enlace el texto del tipo https://site.example. Un participante puede enviar una dirección sin protocolo, una invitación a otro chat, una URL acortada, un texto clicable con una dirección suplantada, un enlace en la descripción de una foto, vídeo o documento.
Defina por separado el destino de los enlaces a plataformas de streaming, redes sociales, servicios de donación, nubes, portafolios, tiendas y formularios de solicitud. Para el chat de un streamer normalmente se prohíbe la publicidad de canales ajenos y las invitaciones externas, pero se dejan los enlaces al horario, clips, donaciones y recursos del equipo.
El bot recibe el mensaje ya después de enviado y luego lo elimina. Por eso el enlace puede verse en el chat durante unos segundos. Telegram no permite que el bot bloquee previamente el envío de un mensaje por parte del participante.
Elija un esquema de filtrado, no una prohibición general
La eliminación total de todos los enlaces es adecuada para un chat cerrado donde los materiales los publica solo el equipo del proyecto. En una comunidad pública, ese esquema empieza pronto a estorbar: los espectadores no podrán enviar un timecode, un reporte de error, un enlace a un clip o un material necesario sobre el tema de discusión.
Es más práctico dividir los enlaces en varias categorías: dominios permitidos, enlaces de roles de confianza, enlaces sospechosos de novatos e invitaciones prohibidas. Por ejemplo, se pueden eliminar todas las invitaciones de t.me, los enlaces a streams ajenos y los acortadores de URL, pero permitir los enlaces a los recursos oficiales del canal.
- Esquema estricto: eliminar cualquier URL de un participante común.
- Lista blanca: permitir solo dominios y subdominios aprobados.
- Esquema por roles: no verificar los enlaces de administradores, moderadores y bots de servicio.
- Esquema por reputación: aplicar el filtro estricto solo a cuentas nuevas o sospechosas.
Cuanto más compleja sea la regla, más pruebas harán falta. Un esquema demasiado permisivo dejará pasar parte de la publicidad, y uno demasiado amplio empezará a eliminar mensajes normales.
Bot listo, constructor o lógica propia
Para una moderación básica se pueden usar bots ya hechos, por ejemplo Combot o Rose. En esas soluciones suele haber antispam, filtros de palabras, restricciones para novatos, advertencias y registro de acciones. Antes de instalarlo, compruebe si el bot elegido sabe analizar específicamente enlaces, descripciones de medios y mensajes editados.
Un bot listo es cómodo cuando basta con una regla estándar. Pero el conjunto de excepciones, el formato de los registros y la lógica de verificación de URL pueden estar limitados por la configuración del servicio. Los comandos de esos bots varían según la versión y la interfaz, así que guíese por su ayuda actual y no por instrucciones aleatorias de publicaciones antiguas.
Un constructor de automatizaciones servirá para un escenario simple: recibió el mensaje, encontró la URL, envió una notificación al moderador. Su punto débil son las demoras, las limitaciones de integración y la dependencia de una plataforma externa. En un chat activo esto puede notarse.
Un bot propio mediante la Telegram Bot API es necesario si se requiere una política distinta para diferentes temas, roles y tipos de enlaces. Permite verificar las entidades de Telegram, guardar el historial de infracciones y enviar registros a un chat cerrado de moderadores. A cambio, habrá que responder por el servidor, las actualizaciones y la seguridad del token.
Qué permisos necesita el bot para eliminar mensajes
Añada el bot al grupo necesario y asígnelo como administrador con permiso para eliminar mensajes. Sin esto, el bot puede reconocer la URL, registrar el evento en el log e incluso enviar una advertencia, pero no podrá eliminar la publicación.
Si se planean restricciones temporales, prohibición de enviar mensajes o ban tras infracciones repetidas, harán falta los permisos correspondientes. Para un antienlace simple no se necesitan permisos para cambiar el perfil del grupo, asignar administradores ni gestionar invitaciones.
Conceda solo los permisos necesarios. Un error en el código, una vulnerabilidad del servicio o la compromisión del token son más peligrosos si el bot ha recibido control total sobre el chat.
Compruebe si el bot recibe los mensajes de los participantes
Tras añadirlo, no se limite al comando de inicio. Envíe un mensaje de prueba desde una cuenta común sin permisos de administrador. Compruebe el texto con un enlace, el enlace en la descripción de una foto y el texto clicable. Es importante probar como participante: el propietario y los administradores a menudo quedan en las excepciones.
Para un bot propio, compruebe las actualizaciones entrantes. Los mensajes nuevos suelen llegar en el campo message, y los cambios de mensajes ya publicados, en edited_message. Si el bot trabaja en un canal con un grupo vinculado o procesa publicaciones del canal, pueden hacer falta tipos de actualización distintos.
El modo de privacidad también influye en qué mensajes recibe el bot. Si el controlador solo ve comandos y respuestas a los mensajes del bot, el filtro de enlaces no funcionará plenamente. Tras cambiar la configuración, vuelva a comprobar las actualizaciones en un grupo de prueba.
Verifique las entidades de Telegram, no solo el texto
En el mensaje, Telegram transmite entidades de marcado. Para los enlaces son especialmente importantes las entidades url y text_link. La primera significa que la propia dirección está en el texto. La segunda significa que la dirección está oculta bajo una palabra normal: por ejemplo, el participante envía «miren aquí» y el enlace lleva a un sitio publicitario.
Si el bot solo verifica la cadena del mensaje, es fácil pasar por alto text_link. Para text_link hay que extraer la URL del campo de la entidad, no buscar el dominio en el texto visible. Para las descripciones de medios, analice caption y caption_entities igual que text y entities.
La lógica mínima de verificación es así: reunir las URL de las entidades, luego encontrar las direcciones de texto que Telegram no reconoció como entidades, normalizar el dominio y compararlo con las reglas. Hay que eliminar todo el mensaje junto con el adjunto, de lo contrario quedará en el chat una imagen o un archivo publicitario sin descripción.
Ejemplos de regex para URL e invitaciones de Telegram
Regex no sustituye la verificación de entidades, pero ayuda a detectar direcciones sin protocolo y texto con un formato no estándar. Por ejemplo, para URL normales se puede usar la plantilla: (?i)\b(?:https?://|www\.)[^\s]+. Encuentra direcciones con http, https y www, pero no verá un dominio del tipo example.com sin prefijo.
Para dominios sin protocolo se puede añadir una verificación aparte: (?i)\b[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.(?:com|net|org|ru|io|gg)\b(?:/[^\s]*)?. La lista de zonas debe elegirse según la audiencia. Si se enumeran solo unas pocas zonas, los spammers podrán usar otras. Si la plantilla se hace demasiado amplia, empezará a confundir URL con designaciones técnicas.
Las invitaciones a Telegram conviene verificarlas con una regla aparte: (?i)\b(?:https?://)?(?:t\.me|telegram\.me)/(?:joinchat/|\+|[a-z0-9_]{5,})\b. Esa regla cubre los enlaces públicos de t.me y parte de las invitaciones. No debe considerar automáticamente como spam un enlace al chat oficial del proyecto, por eso los dominios y las rutas permitidas concretas se añaden a las excepciones.
No intente cerrar todas las evasiones con un solo regex. Una entrada del tipo s i t e . com, la sustitución del punto por la palabra «punto», los símbolos Unicode y las imágenes con una dirección requieren otros métodos: puntuación antispam, verificación manual u OCR. Una plantilla demasiado agresiva provocará muchas eliminaciones falsas.
Procese los enlaces en descripciones, reenvíos y archivos
El spam rara vez se limita a un mensaje de texto normal. El enlace puede estar en el caption de una foto, vídeo, GIF, documento, audio o encuesta con explicación. Si el bot solo mira el campo text, el participante evadirá el filtro con un solo archivo multimedia.
Para cada mensaje entrante verifique text, entities, caption y caption_entities. El nombre del documento a veces también contiene un dominio o texto publicitario, pero conviene eliminar el archivo solo por el nombre con cuidado: en un chat de trabajo así se puede perder fácilmente un archivo o una grabación de stream necesarios.
Una publicación reenviada no siempre contiene una URL visible, pero puede llevar a un canal externo mediante un botón o una descripción. Un bot normal no siempre recibe todos los datos sobre los botones integrados y el origen del reenvío en un formato cómodo para el filtrado. Si los reenvíos son un problema, para los participantes nuevos es más seguro restringirlos por separado o enviar esas publicaciones a revisión manual.
Cierre la evasión mediante la edición de mensajes
Una evasión típica es así: el participante envía una frase neutra, espera a que el mensaje salga de la zona de atención de los moderadores y luego añade publicidad mediante la edición. Si el controlador reacciona solo a los mensajes nuevos, el enlace permanecerá en el grupo.
Para un bot propio, suscríbase a la actualización edited_message y ejecute la misma función de verificación que para message. No haga una lógica recortada aparte: de lo contrario, el filtro puede eliminar un enlace directo en un mensaje nuevo pero pasar por alto text_link o caption tras la edición.
En el registro indique que la eliminación se produjo tras la edición y guarde el identificador original del mensaje. Esto ayudará a resolver una denuncia: el participante pudo editar un post antiguo no por publicidad, sino para corregir un enlace a un recurso permitido.

Arme una lista blanca de dominios y rutas
Es mejor construir la lista blanca por dominio normalizado, no por coincidencia completa de la cadena. Para la dirección https://clips.example.com/video/123 el bot debe separar el host clips.example.com de la ruta, pasarlo a minúsculas y quitar el prefijo de servicio www.
Ejemplo de lista de excepciones para una comunidad de streamers:
- su sitio principal y los subdominios necesarios;
- páginas del canal en plataformas de streaming;
- páginas con el horario de transmisiones y anuncios;
- servicios de donación que usa el proyecto;
- documentos del equipo, formularios de solicitud y rastreadores de tareas;
- enlaces oficiales de Telegram del proyecto: un @username concreto del chat o canal;
- dominios de socios, si su publicación realmente está permitida por las reglas.
No añada un servicio grande entero a la lista blanca si necesita un recurso concreto. Permitir todo el dominio puede abrir el camino a páginas ajenas, spam de referidos o phishing en la misma plataforma. En esos casos verifique no solo el dominio, sino también la ruta URL permitida.
Separe los roles de confianza y los participantes comunes
Los administradores, moderadores y bots de notificaciones normalmente deben publicar enlaces sin demoras. La opción más simple es dejar pasar a los usuarios con estatus de administrador. Es cómoda, pero da una excepción total a cualquiera a quien se le hayan dado permisos de administrador, incluidos los ayudantes temporales.
Una opción más estricta es una lista aparte de user ID de cuentas de confianza. Es útil cuando no todos los administradores deben publicitar recursos externos. La lista debe revisarse tras un cambio de equipo: un ID olvidado de un exmoderador se convierte en una evasión del filtro.
Para los novatos se puede activar un modo aparte. Por ejemplo, eliminar cualquier enlace externo de participantes que se unieron recientemente, y enviar los mensajes de usuarios habituales a una verificación más permisiva. Ese enfoque corta el spam masivo, pero puede impedir que un espectador real envíe de inmediato el material necesario.
Cómo distinguir un enlace publicitario de uno útil
Una URL por sí sola no demuestra spam. Evalúe el contexto del mensaje, el dominio y el comportamiento del autor. Un enlace a las notas del parche en una discusión sobre una actualización del juego es distinto de «entra a mi canal» bajo cualquier mensaje, aunque ambas direcciones sean técnicamente correctas.
- El enlace lleva a un dominio de la lista blanca o a un recurso conocido sobre el tema de discusión.
- El texto alrededor de la URL está relacionado con la conversación actual y no contiene un llamamiento plantilla a suscribirse o ganar dinero.
- El participante lleva mucho tiempo en el grupo, escribe mensajes normales y no publica el mismo texto en varios temas.
- El dominio no usa suplantaciones sospechosas, símbolos parecidos ni una cadena de redirecciones a través de acortadores.
- El enlace se publicó en un tema permitido, por ejemplo en la sección de clips, solicitudes o soporte técnico.
- La cuenta no envió varios mensajes seguidos con enlaces distintos tras unirse al chat.
No conviene convertir las heurísticas en un ban automático. La reputación de un participante puede ser baja en un espectador real nuevo, y una cuenta conocida a veces puede estar hackeada. Para los casos límite es más útil eliminar el mensaje, guardarlo en el registro y dar una forma de contactar rápidamente con el moderador.
Configure la reacción tras eliminar un enlace
La eliminación silenciosa reduce el ruido, pero el participante puede repetir la publicación sin entender el motivo. Una notificación breve en el chat o un mensaje personal hace la regla más transparente. No publique la URL eliminada en la notificación: así el bot mismo volverá a difundir el spam.
Texto adecuado para la notificación: «Enlace eliminado por las reglas del grupo. Se permiten materiales sobre el tema y dominios de la lista de excepciones. Si el mensaje se eliminó por error, escriba al moderador». Es mejor adaptar la formulación a las reglas de la comunidad.
El contador de infracciones será útil para protegerse del flood repetido. Pero no active el bloqueo automático en el primer disparo. Primero reúna estadísticas de eliminaciones falsas, sobre todo si se verifican dominios sin protocolo y enlaces en descripciones.
Lleve registros y notifique a los moderadores
El registro de moderación debe contener como mínimo los datos para el análisis: ID del chat, ID del usuario, nombre o username en el momento del evento, ID del mensaje, hora, tipo de disparo y motivo. Los motivos pueden ser «dominio prohibido», «invitación a un grupo externo», «acortador de URL», «enlace tras edición» o «enlace de un participante nuevo».
Es mejor enviar la URL eliminada a un chat cerrado de moderadores, no guardarla en un canal de registros común. Si el enlace puede ser malicioso, no lo haga clicable: transmita el dominio como texto o sustituya el punto por un espacio con una explicación para el moderador.
Una notificación útil para el moderador incluye la acción y el contexto: quién envió el mensaje, dónde se publicó, por qué regla se eliminó y si fue una edición. Así el moderador podrá decidir rápidamente si añadir el dominio a la lista blanca, retirar la restricción al participante o dejar la regla sin cambios.
Qué hacer en caso de un disparo falso
El participante necesita una vía clara para la denuncia: mensajes personales al moderador, un tema aparte en el grupo o un formulario de contacto. No le pida que envíe de nuevo el enlace eliminado al chat general. Es mejor proponerle que envíe el dominio y explique para qué lo necesita.
Al analizar, el moderador debe comprobar la regla, el tipo de entidad y el estatus del autor. Si la URL era permitida, añada el dominio o la ruta exactos a las excepciones. Si el problema surgió por un regex demasiado amplio, reduzca la plantilla en lugar de crear una lista de decenas de excepciones aleatorias.
No restaure automáticamente cualquier mensaje eliminado. Puede contener un enlace de phishing, y el contexto original ya ha desaparecido. Es más seguro pedir al autor que publique el material de nuevo tras la confirmación de la moderación o que lo coloque en el tema destinado a enlaces.
Compruebe el filtro en un grupo de prueba antes del lanzamiento
Cree un grupo de prueba con los mismos permisos del bot y abra una cuenta de prueba común. La comprobación desde el propietario del chat no sirve: puede quedar excluido del filtro como administrador. Registre los resultados para no romper escenarios que ya funcionan tras cambiar el regex o la lista blanca.
- Envíe una URL con https, con www y un dominio sin protocolo.
- Compruebe un enlace oculto en un texto clicable mediante la entidad text_link.
- Envíe una invitación de t.me a un grupo externo y un enlace al chat permitido del proyecto.
- Añada una URL en la descripción de una foto, un vídeo y un documento.
- Edite un mensaje neutro e inserte en él un enlace prohibido.
- Compruebe una publicación desde un dominio permitido y un mensaje de un moderador de confianza.
- Asegúrese de que al registro de moderadores llega el motivo de la eliminación sin publicar el enlace peligroso en el chat general.
Añada la regla sobre enlaces a la descripción del grupo
Una regla breve reduce el número de infracciones repetidas y las disputas con los participantes. Basta con indicar que los enlaces publicitarios, las invitaciones externas y las URL acortadas se eliminan automáticamente, y que los materiales útiles se pueden acordar con la moderación.
No revele en la descripción todos los detalles técnicos del filtro, las expresiones regulares y las condiciones de verificación de reputación. Esa información ayuda a los spammers a buscar evasiones. Para los participantes es más importante saber qué enlaces están permitidos y a dónde dirigirse en caso de eliminación errónea.
Last Articles
Qué cambió en el diseño y la funcionalidad Actualizamos el sitio para que trabajar con él sea más rápido y cómodo. Los cambios principales afectan a ..
Good afternoon, I've collected all the news during this time.: 1. The main news is that prices for twitch viewers have been greatly reduced, while Tw..
1. Utilice el código promocional "December2025" para un 15% de descuento para todos nuestros espectadores2. Hemos reducido hasta el 1 de enero los pre..
Los servicios de Twitch son trabajando de manera estable, por lo que estamos listos para cooperar con escuadrones, revendedores, propietarios de s..
Nosotros hemos actualizado completamente nuestros servicios de visualización de Twitch, y ahora están trabajando estable. Solo usamos direcciones ..
Hello everyone! Today, we are announcing a new feature—"Twitch Viewer Configurator". Now, you can customize any plan for your Twitch channel. Choo..
Greetings, I have compiled a guide for streamers, which will be very relevant at the moment. Now YouTube and twitch have disabled monetization from vi..
We have finally developed the APINow it will be more convenient for our partner sites to work with us.To update the maximum tariffs for YouTube, an up..
Debido a la enorme popularidad de los servicios de asociación y del programa de referencia, hemos creado una tabla de cooperación. La esencia es muy s..
Nuestros Servicios para Streamers
Nuestros Servicios para Creadores de Contenido










