Bot de Telegram diseñado para gestionar zonas y listas de espera en grupos con rotación automática.
- Gestión de 3 zonas (Z1, Z2, Z3) con asignación automática
- Lista de espera con rotación automática cada 2 horas
- Control de autorización por chat específico
- Horarios múltiples en diferentes zonas horarias
- Comandos administrativos y de usuario diferenciados
- Rotación automática programada
- Logs detallados para monitoreo
pip install python-telegram-bot pytz python-telegram-bot[job-queue]
o alternativa con UV
uv sync
- Clona o descarga el archivo
bot_zonas.py
- Modifica las constantes en el código:
TOKEN = "TU_TOKEN_DE_BOT_AQUI" CREATOR_USERNAME = "@TU_USERNAME" ROTATION_DURATION_MINUTES = 120 # Tiempo de rotación en minutos
- Ejecuta el bot:
python main.py
Comando | Descripción |
---|---|
/z1 , /z2 , /z3 |
Asignarse a una zona específica |
/z1 @usuario |
Asignar a otro usuario a la zona |
/exitz1 , /exitz2 , /exitz3 |
Salir de zona específica |
/espera |
Unirse a la lista de espera |
/espera @usuario |
Añadir a otro usuario a la espera (solo admins) |
/exit |
Salir de zona o lista de espera |
/exit @usuario |
Remover a otro usuario |
/cambiar @usuario |
Intercambiar posiciones con otro usuario |
/cambiar @user1 @user2 |
Intercambiar posiciones entre usuarios (admins) |
/tomarlibre |
Tomar un lugar libre en la lista de espera |
/lista |
Ver estado actual de zonas y espera |
/reglas |
Mostrar reglas del sistema |
/comandos |
Mostrar menú de comandos |
Comando | Descripción |
---|---|
/abrir o /abrirlista |
Abrir la lista para uso |
/cerrar o /cerrarlista |
Cerrar la lista |
/chatid |
Mostrar ID del chat actual |
Comando | Descripción |
---|---|
/autorizar |
Activar el bot en el chat actual |
/desautorizar |
Desactivar el bot |
- 3 zonas disponibles: Z1, Z2, Z3
- Cada zona puede tener un usuario asignado
- Los usuarios pueden auto-asignarse o ser asignados por admins
- Los usuarios pueden unirse a la lista de espera
- Posiciones "Libre" disponibles para tomar
- Rotación automática cada 2 horas
- Cada 2 horas (configurable)
- Los usuarios en espera pasan a las zonas
- Los usuarios en zonas salen del sistema
- Notificación automática al grupo
El bot muestra horarios en múltiples zonas:
- 🇨🇴 Colombia
- 🇲🇽 México
- 🇻🇪 Venezuela
- 🇦🇷 Argentina / 🇨🇱 Chile
- 🇪🇸 España
- Autorización por chat: Solo funciona en el grupo autorizado
- Control de permisos: Comandos diferenciados por rol
- Rechazo de mensajes privados: Solo funciona en grupos
- Logs de seguridad: Registro de intentos no autorizados
Estado | Descripción |
---|---|
No autorizado | Bot inactivo, requiere /autorizar |
Autorizado pero cerrado | Bot activo pero lista cerrada |
Autorizado y abierto | Funcionamiento completo |
bot_zonas.py
├── Constantes y configuración
├── Funciones auxiliares
│ ├── get_time_display()
│ ├── format_list()
│ └── Verificaciones de seguridad
├── Comandos de usuario
├── Comandos administrativos
├── Comandos del creador
├── Job de rotación automática
└── Función main()
El bot genera logs detallados:
- ✅ Acciones exitosas
⚠️ Advertencias y errores- 🚫 Intentos no autorizados
- 🔄 Rotaciones automáticas
- Verificar que esté autorizado con
/autorizar
- Confirmar que la lista esté abierta con
/abrir
- El job se configura al autorizar el bot
- Verificar logs para errores de rotación
- Solo el creador puede autorizar/desautorizar
- Solo admins pueden abrir/cerrar listas
- Usar zonas solo si estás disponible
- Respetar turnos y rotaciones
- Usar
/exit
para salir correctamente - No abusar del sistema
- No editar mensajes con comandos
Para mejorar el bot:
- Reporta bugs o sugerencias
- Propón nuevas características
- Mejora la documentación
- Creador:
@Soy_Acos
-> Telegram (configurado en el código) - Logs del sistema para diagnóstico
- Comando
/chatid
para información del chat
Nota: Este bot está diseñado para funcionar en un solo grupo autorizado a la vez para mantener la integridad del sistema de rotación.