Bot de Discord versátil: bienvenidas, tickets, roles con botones y menús. ¡Personaliza tu servidor como nunca!
¿Qué puede hacer este bot?
Este bot es un compañero avanzado para servidores de Discord, ofreciendo una amplia gama de funcionalidades que combinan automatización, interacción y herramientas administrativas. Está construido con un enfoque en la personalización y la persistencia, utilizando archivos JSON para almacenar configuraciones entre reinicios. Aquí está todo lo que puede hacer:
- Mensajes de bienvenida personalizados
Evento on_member_join: Cuando un nuevo miembro se une al servidor, el bot puede enviar un mensaje de bienvenida en un canal preconfigurado.
Opciones de personalización:
Texto plano: Soporta variables como [userName], {{@user}}, {server}, etc., para incluir información dinámica (nombre del usuario, mención, conteo de miembros, etc.).
Embeds ricos: Permite configurar mensajes con título, descripción, color, campos, imágenes, miniaturas, pie de página y marcas de tiempo, todo personalizable mediante comandos o JSON.
Imágenes: Puede enviar imágenes adjuntas junto al mensaje o como parte de un embed.
Configuración: Con el comando /create_welcome, los administradores definen el canal y el contenido del mensaje, con vista previa inmediata.
Eliminación: Usa /borrar_welcome para desactivar el mensaje de bienvenida.
- Sistema de tickets
Comando /setup: Configura un botón "Crear Ticket" en un canal. Si ya existe un mensaje del bot en el canal, lo actualiza; si no, crea uno nuevo.
Interacción:
Al presionar "Crear Ticket", el bot genera un canal privado en la categoría "Tickets" (la crea si no existe).
Cada canal tiene un número secuencial (ej. ticket-001) y permisos restringidos: solo el creador, el staff y el bot pueden verlo.
Incluye un embed con instrucciones y botones para "Reclamar Ticket" (solo staff) y "Cerrar Ticket" (elimina el canal tras 5 segundos).
Gestión: Ideal para soporte o consultas, manteniendo la privacidad y organización.
- Botones interactivos
Comando /botones: Añade botones a un mensaje específico (identificado por URL).
Tipos de botones:
Botones de rol: Asignan o quitan roles al hacer clic. Si el rol ya está asignado, lo elimina; si no, lo añade y elimina otros roles del mismo mensaje (modo exclusivo opcional).
Botones de enlace: Abren URLs externas (ej. sitios web o invitaciones).
Personalización:
Nombre, color (azul, gris, verde, rojo, enlace), emoji y rol/URL asociados.
Gestión:
/remove_button: Elimina un botón por su nombre.
/borrar_boton: Elimina un botón por número (1 en adelante) o todos con "all".
Persistencia: Los botones se restauran al reiniciar el bot gracias a buttons_data.json.
- Menús desplegables
Comando /menus: Crea o actualiza un menú desplegable en un mensaje.
Funcionalidad:
Permite seleccionar roles mediante opciones en un menú.
Tipos de selección: "single" (una opción) o "multiple" (varias opciones).
Opciones: Cada una tiene etiqueta, descripción, rol asociado y emoji opcional.
Gestión:
Añade opciones nuevas o modifica el nombre/tipo del menú.
/remove_menu_option: Elimina una opción por etiqueta.
/borrar_menu: Elimina una opción por número o todas con "all".
Persistencia: Guardado en menus_data.json y restaurado al iniciar.
- Repetición de mensajes avanzada
Comando /repite: Permite a administradores enviar mensajes con múltiples formatos:
Texto: Con o sin formato de código (```).
Embed: Configurable vía JSON o parámetros (título, descripción, color).
Imágenes: Adjunta imágenes subidas o referenciadas por URL.
Enlaces: Copia contenido de un mensaje existente en el servidor (texto, embed o imagen).
Flexibilidad: Combina varios elementos en un solo comando y valida URLs o JSON para evitar errores.
- Comandos administrativos
Sincronización: El comando ,a sincroniza los comandos "slash" con Discord (solo para admins).
Restricciones: Todos los comandos avanzados (/repite, /setup, /botones, etc.) requieren el rol "admin" (insensible a mayúsculas).
- Características técnicas
Persistencia: Usa archivos JSON para guardar configuraciones de botones, menús y bienvenidas, asegurando que todo se mantenga tras reinicios.
Robustez: Incluye manejo de errores para JSON corrupto, mensajes no encontrados, permisos insuficientes, etc.
Restauración: Al iniciar (on_ready), restaura botones y menús interactivos, eliminando datos obsoletos.
Asincronía: Aprovecha asyncio para operaciones como eliminación de canales o restauración de componentes.
- Interfaz y experiencia
Interacciones efímeras: Respuestas como errores o confirmaciones suelen ser privadas (visibles solo para quien ejecuta el comando).
Feedback claro: Usa símbolos como ⌈ + ⌋ y ⌈ - ⌋ para indicar roles añadidos o eliminados.
Compatibilidad: Funciona con comandos prefijados y "slash", adaptándose a diferentes estilos de uso.
¿Por qué es especial?
Este bot no solo automatiza tareas comunes (bienvenidas, tickets), sino que ofrece herramientas interactivas avanzadas (botones y menús) que normalmente requieren bots más complejos o múltiples soluciones separadas. Su capacidad para personalizar mensajes con variables dinámicas y embeds, junto con la persistencia de datos, lo hace ideal para servidores que buscan una experiencia única y organizada. Además, está diseñado con administradores en mente, restringiendo funciones sensibles y proporcionando flexibilidad para adaptarse a cualquier comunidad.
En resumen, este bot es una solución todo-en-uno para gestionar roles, soporte y comunicación, con un toque de creatividad y robustez técnica. ¡Es como tener un asistente virtual personalizado para tu servidor de Discord!