Qué es FloodWait en Telegram y cómo evitarlo (guía técnica 2026)
FloodWait es el error 420 de Telegram que congela tu cuenta entre segundos y horas. Cómo se calcula, cuándo aparece y los 7 patrones que lo disparan.
Si haces marketing masivo en Telegram tarde o temprano vas a ver el error 420 FLOOD_WAIT_X. Es la primera advertencia que el servidor te da antes de cosas peores: PEER_FLOOD, USER_DEACTIVATED, BAN. Esta guía explica qué significa, cómo lo calcula Telegram y los 7 patrones reales que lo disparan en cuentas de marketing.
Qué es FloodWait exactamente
FloodWait es un error MTProto en el rango 420 que el servidor de Telegram devuelve cuando una cuenta excede algún rate limit. Su payload trae un número X que representa los segundos que tienes que esperar antes de poder volver a hacer esa acción específica.
RpcError: 420 FLOOD_WAIT_47
En este caso: 47 segundos de espera para esa acción. Lo importante: es por acción, no por cuenta. Puedes recibir FloodWait en messages.SendMessage pero seguir teniendo acceso a messages.GetDialogs.
Los 7 patrones que disparan FloodWait
1. Volumen alto en poco tiempo
El más obvio. Enviar 30+ mensajes en 1 minuto a no-contactos casi garantiza FloodWait. Telegram tiene rates internos diferentes por edad de cuenta, Premium status y device.
2. Velocidad uniforme (sin jitter)
Tan importante como el volumen. Enviar exactamente cada 5 segundos durante 2 horas es señal de bot. Telegram detecta la consistencia milimétrica más fácil que el volumen alto con variación natural.
3. Mensajes idénticos (sin Spintax)
500 mensajes con el mismo texto exacto dispara filtros de spam. Necesitas variaciones reales: nombres, saludos, ordenamientos, frases distintas. Ver Spintax 101 para el patrón completo.
4. Dirigirte a no-contactos sin warming previo
Una cuenta recién creada que envía a 50 desconocidos en su primer día va directo a FLOOD. La cuenta necesita "calentarse" — chats con contactos reales, recibir mensajes, joinear grupos, scrollear feed.
5. Cambio de proxy/IP mid-session
Si tu sesión MTProto está autenticada desde una IP y cambias abruptamente a otra (sobre todo geografías distintas), el servidor lo marca como sospechoso. Mantén proxy consistente por cuenta.
6. Multi-device sin patrón humano
Una cuenta logueada en 8 device_models distintos en 24h es señal de granja. Telegram registra cada auth_key con su device. Lo veremos en detalle en cuentas en un solo dispositivo.
7. Reportes de usuarios
Si 3-5 usuarios marcan tus mensajes como spam, FloodWait sube exponencialmente y eventualmente se convierte en PEER_FLOOD. Por eso la calidad del mensaje importa tanto como la cantidad.
Cómo se calcula el X de FloodWait
No hay fórmula oficial, pero la observación empírica indica algoritmo escalonado:
| Veces consecutivas que disparas FloodWait | Tiempo típico |
|---|---|
| 1ra | 30-60 segundos |
| 2da en la misma hora | 5-15 minutos |
| 3ra | 30-60 minutos |
| 4ta | 2-12 horas |
| 5ta+ | 24h o salto a PEER_FLOOD |
Cómo manejar FloodWait en código (GramJS)
El patrón canónico es catch + sleep + retry. Vega Punk lo hace así internamente:
try {
await client.sendMessage(peer, { message: texto });
} catch (e) {
if (e.errorMessage?.startsWith("FLOOD_WAIT_")) {
const segundos = parseInt(e.errorMessage.split("_")[2], 10);
await dormir(segundos * 1000);
// Importante: NO reintentar inmediatamente la MISMA acción
// Mejor: marcar cuenta para enfriarse y rotar a otra
}
throw e;
}Lo importante: no reintentar la misma acción inmediatamente después del sleep. Eso garantiza otro FloodWait más largo. Mejor: rotar a otra cuenta del pool y dejar la afectada en cooldown 24h.
Patrones que minimizan FloodWait
- Jitter aleatorio: 12-90 segundos entre mensajes, no intervalos fijos
- Spintax obligatorio: mínimo 5 variaciones por mensaje plantilla
- Pool de cuentas: rotar entre 3-10 cuentas distribuye el riesgo
- Proxy fijo por cuenta: misma IP residencial siempre
- Niveles progresivos: límite diario sube con días de uso (3→15→30→50)
- Anti-ban contextual: detectar
RecentActionscon baneos previos y skip - Horarios humanos: 6 AM a 11 PM en timezone del destinatario
El error que la mayoría comete
Pensar que FloodWait es un techo fijo y "darle hasta que aparezca". No. FloodWait es la última señal antes del castigo serio. Cuando lo ves, no es momento de optimizar para esquivarlo — es momento de bajar el ritmo y revisar todos los patrones de arriba.
Los SaaS que prometen "envía 1000 mensajes/día sin baneo" o están mintiendo o tienen 70% de cuentas baneadas en 30 días. Las cuentas que duran 6+ meses son las que envían 30-50 mensajes diarios con todos los patrones de seguridad. Es matemática lenta pero compone.
Conclusión
FloodWait no es tu enemigo: es el termómetro que te dice si tu estrategia es sostenible. Una operación bien armada lo ve 1 vez por semana (eventos aislados), no 5 veces al día. Si lo ves seguido es señal de revisar warming, Spintax, proxy o volumen. Para entender el siguiente nivel de severidad lee sobre PEER_FLOOD y para evitar llegar ahí, los 7 patrones de baneo.
¿Cansado de cuidar manualmente FloodWait, proxies y niveles? Activa Vega Punk gratis — anti-ban inteligente y rotación automática de cuentas incluida.