TeleSysBot es un versátil bot de Telegram diseñado para gestionar operaciones del sistema mediante comandos de Telegram. Además, cuenta con una interfaz web basada en Flask para monitorear y configurar el bot. Este proyecto tiene como objetivo proporcionar una interfaz fácil de usar para que los administradores de sistemas puedan gestionar y monitorear sus sistemas de manera eficiente.
requirements.txt
git clone https://github.com/Jcorderop02/TeleSysBot.git
cd TeleSysBot
python3 -m venv botenv
source botenv/bin/activate
pip install -r requirements.txt
TELEGRAM_BOT_TOKEN=<tu_token_de_telegram>
TELEGRAM_BOT_PASSWORD=<tu_contraseña_de_bot>
ADMIN_ID=<tu_id_de_telegram>
python3 telegram_bot.py
/start
: Inicia la interacción con el bot./password <tu contraseña>
: Autentica al usuario con la contraseña proporcionada./update
: Actualiza el sistema y Pi-hole./stats
: Muestra las estadísticas del sistema./unblock <user_id>
: Desbloquea a un usuario./blocked
: Muestra la lista de usuarios bloqueados./authenticated
: Muestra la lista de usuarios autenticados (solo admin)./system_status
: Muestra el estado del sistema./start_container <nombre_contenedor>
: Inicia un contenedor Docker./stop_container <nombre_contenedor>
: Detiene un contenedor Docker./restart_container <nombre_contenedor>
: Reinicia un contenedor Docker./status_container <nombre_contenedor>
: Muestra el estado de un contenedor Docker./container_list
: Lista todos los contenedores y su estado./menu
: Muestra un menú interactivo con las opciones disponibles./dashboard
: Muestra un panel con las estadísticas del sistema.Para habilitar o deshabilitar comandos, puedes modificar el archivo config.json
en la raíz del proyecto. El archivo contiene una lista de comandos con valores booleanos que indican si están habilitados (true
) o deshabilitados (false
).
El bot incluye una interfaz web que permite actualizar la configuración de los comandos. Para acceder a la interfaz, abre un navegador web y dirígete a http://<tu_ip>:5000
.
El bot enviará notificaciones al administrador cuando ocurran ciertos eventos, como múltiples intentos fallidos de autenticación o alto uso de recursos del sistema.
Refactorización del Código:
shared.py
para gestionar usuarios autenticados y bloqueados de forma centralizada.telegram_bot.py
.Interfaz Web:
base.html
para incluir el soporte de modo oscuro/claro.templates/dashboard.html
para mostrar el dashboard en tiempo real.templates/users.html
para mejorar la gestión de usuarios autenticados y bloqueados.templates/index.html
para reflejar los cambios en la configuración del bot y añadir nuevas opciones.Telegram Bot:
shared.py
.¡Las contribuciones son bienvenidas! Si deseas contribuir a este proyecto, por favor sigue estos pasos:
git checkout -b feature/nueva-funcionalidad
).git commit -am 'Añadir nueva funcionalidad'
).git push origin feature/nueva-funcionalidad
).Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más información.