7.3 KiB
Executable File
7.3 KiB
Executable File
Sistema de Administración de Bots - Discord & Telegram
Sistema completo de administración para bots de Discord y Telegram con panel web, gestión de mensajes, plantillas, destinatarios y más.
🚀 Características Principales
- ✨ Panel de Administración Web - Interfaz moderna para gestionar ambos bots
- 🔐 Autenticación JWT con roles (Admin, Editor) y permisos granulares
- 📝 Gestión de Mensajes - Envío inmediato, programado y recurrente
- 📋 Sistema de Plantillas - Crear y reutilizar plantillas de mensajes
- 👥 Gestión de Destinatarios - Usuarios, canales y grupos
- 🖼️ Galería de Imágenes compartida con thumbnails automáticos
- 🤖 Comandos - Slash Commands (Discord) y comandos de texto (Telegram)
- 👋 Mensaje de Bienvenida configurable con soporte multiidioma
- 📊 Sistema de Logs completo con filtrado y visualización
- 🌐 Traducción Automática con LibreTranslate
- 🔔 Notificaciones Toast no intrusivas
📋 Requisitos
- PHP >= 8.0
- MySQL 5.7+ o MariaDB 10.3+
- Extensiones PHP: pdo, pdo_mysql, json, gd, curl, sodium
- Composer
- Servidor web (Apache/Nginx)
- LibreTranslate (opcional, para traducciones)
🔧 Instalación
- Clonar el repositorio
git clone http://10.10.4.17:3002/nickpons666/sistema_para_juego.git
cd sistema_para_juego
- Instalar dependencias
composer install
- Configurar variables de entorno
cp .env.example .env
nano .env
Edita las siguientes variables:
APP_URL=https://tu-dominio.com
DB_HOST=tu-host-db
DB_PORT=3306
DB_NAME=tu-base-de-datos
DB_USER=tu-usuario
DB_PASS=tu-contraseña
DISCORD_GUILD_ID=tu-guild-id
DISCORD_BOT_TOKEN=tu-bot-token
TELEGRAM_BOT_TOKEN=tu-bot-token
TELEGRAM_WEBHOOK_TOKEN=token-secreto-webhook
JWT_SECRET=clave-secreta-muy-larga
LIBRETRANSLATE_URL=http://localhost:5000
- Crear la base de datos
mysql -u tu-usuario -p < shared/database/schema.sql
- Crear usuario administrador
php create_admin.php
- Configurar permisos de carpetas
chmod -R 755 gallery/uploads gallery/thumbnails
chown -R www-data:www-data gallery/uploads gallery/thumbnails
- Configurar Webhooks
Discord:
- Ve a la configuración del bot en Discord Developer Portal
- Configura el webhook:
https://tu-dominio.com/discord/webhook/index.php
Telegram:
curl -X POST "https://api.telegram.org/bot<TU_BOT_TOKEN>/setWebhook" \
-d "url=https://tu-dominio.com/telegram/webhook/index.php" \
-d "secret_token=<TU_TOKEN_WEBHOOK>"
📁 Estructura del Proyecto
/
├── discord/ # Módulos de Discord
│ ├── api/ # APIs REST (messages, templates, recipients)
│ ├── views/ # Vistas HTML (messages, templates, recipients, logs)
│ └── webhook/ # Webhook receptor de Discord
├── telegram/ # Módulos de Telegram
│ ├── api/ # APIs REST (messages, templates, recipients)
│ ├── views/ # Vistas HTML (messages, templates, recipients, logs)
│ └── webhook/ # Webhook receptor de Telegram
├── gallery/ # Sistema de galería compartido
│ ├── api/ # APIs REST (upload, list, edit, delete)
│ ├── uploads/ # Imágenes subidas
│ └── thumbnails/ # Thumbnails generados
├── shared/ # Código compartido
│ ├── auth/ # Sistema de autenticación JWT
│ ├── database/ # Conexión a base de datos
│ ├── languages/ # Gestión de idiomas
│ ├── translations/ # Archivos de traducción
│ ├── utils/ # Helpers y funciones utilitarias
│ └── public/js/ # JavaScript compartido (notificaciones)
├── admin/ # Panel de administración de usuarios
├── .env # Variables de entorno
├── login.php # Página de login
├── index.php # Panel principal
└── create_admin.php # Script para crear admin
🎯 Uso
Acceso al Sistema
- Abre tu navegador y ve a
https://tu-dominio.com/login.php - Ingresa con las credenciales del admin que creaste
- Selecciona Discord o Telegram desde el panel principal
Enviar un Mensaje
- Ve a Crear Mensaje en la plataforma deseada
- Selecciona el destinatario (o múltiples)
- Escribe el contenido o carga una plantilla
- Puedes insertar imágenes desde la galería
- Selecciona: Inmediato, Programado o Recurrente
- Haz clic en Enviar
Crear una Plantilla
- Ve a Plantillas
- Haz clic en Crear Plantilla
- Asigna un nombre, comando (opcional) y contenido
- Guarda y previsualiza
Configurar Mensaje de Bienvenida
- Ve a Mensaje de Bienvenida
- Activa/Desactiva la opción
- Configura el canal destino
- Escribe el mensaje con soporte HTML
- Selecciona imagen opcional
- Elige idiomas habilitados
- Prueba el mensaje antes de guardar
🔒 Seguridad
- Tokens JWT con expiración configurable
- Verificación de permisos por rol para cada acción
- Validación de webhooks (Discord Ed25519, Telegram secret_token)
- Sanitización de entradas y prevención de SQL injection
- Logs de errores y actividad
📊 Estado del Proyecto
- ✅ Fase 1-3: Preparación, Base de Datos, Autenticación - 100%
- ✅ Fase 4.1: Plataforma Discord - 100%
- ✅ Fase 4.2: Plataforma Telegram - 100%
- ✅ Fase 5: Módulos Compartidos - 100%
- ⏳ Fase 6: Documentación y Pruebas Finales - En progreso
🛠️ Tecnologías Utilizadas
- Backend: PHP 8.0+
- Frontend: HTML5, CSS3, JavaScript, Bootstrap 5, Summernote
- Autenticación: Firebase JWT
- Base de Datos: MySQL/MariaDB
- API Discord: team-reflex/discord-php
- API Telegram: telegram-bot/api
- Traducción: LibreTranslate
- Automatización: n8n (integración opcional)
📝 Scripts de Mantenimiento
Verificar conexión con Discord
php discord/test_connection.php
Verificar conexión con Telegram
php telegram/test_connection.php
Verificar idiomas
php check_idiomas.php
Verificar intents de Discord
php check_intents.php
🐛 Troubleshooting
Error de conexión a base de datos
- Verifica las credenciales en
.env - Asegúrate de que el servidor MySQL esté corriendo
- Verifica permisos del usuario en la base de datos
Webhook no recibe mensajes
- Verifica que la URL sea accesible públicamente (HTTPS)
- Para Discord: Verifica la verificación Ed25519 (extensión sodium)
- Para Telegram: Verifica el secret_token en el webhook
Imágenes no se suben
- Verifica permisos de las carpetas
gallery/uploadsygallery/thumbnails - Verifica configuración de upload_max_filesize en php.ini
- Asegúrate de que GD esté habilitado en PHP
📞 Soporte
Para reportar issues o sugerir mejoras, visita el repositorio en Gitea: http://10.10.4.17:3002/nickpons666/sistema_para_juego
📄 Licencia
Este proyecto es de uso privado. Todos los derechos reservados.
Desarrollado para gestión de bots de Discord y Telegram