QsDiscord - Integración avanzada de Discord para tu servidor
Descripción: QsDiscord es un complemento de Minecraft que conecta tu servidor directamente con Discord.
Con este plugin puedes:
Enviar alertas y anuncios automáticos a canales de Discord.
Sincronizar roles de Discord con los rangos de tus jugadores.
Vincular cuentas de Minecraft con Discord para una experiencia integrada.
Ejecutar acciones administrativas desde el juego de forma segura y controlada.
Compatibilidad / Softdepend: Este plugin funciona junto con varios complementos populares para maximizar su potencial:
✅ PlaceholderAPI → Para utilizar placeholders dinámicos en mensajes y alertas.
✅ LuckPerms → Para sincronizar rangos y roles entre Minecraft y Discord.
✅ MythicMobs → Permite enviar anuncios automáticos a Discord cuando un jefe aparece o es derrotado.
Estas dependencias aseguran que los eventos, roles y mensajes sean totalmente personalizables y sincronizados correctamente.
Características destacadas:
Envía mensajes y alertas a canales de Discord configurables.
Vinculación de cuentas Minecraft ↔ Discord para mayor integración.
Sincronización automática de roles según los rangos de los jugadores.
Recarga de configuración, mensajes y alertas sin reiniciar el servidor.
Pruebas de anuncios y alertas en tiempo real para verificar su funcionamiento.
Comandos administrativos avanzados para gestión completa desde el juego.
Sistema de alertas configurable desde alerts.yml para personalizar cada notificación.
Beneficio clave: QsDiscord facilita la gestión de tu servidor y mejora la interacción con tu comunidad, manteniendo a los jugadores informados y conectados de manera sencilla y profesional.
Archivo de configuracion
Code (YAML):
# Token de tu bot de Discord discord:
token: "TU_BOT_TOKEN_AQUI" chat:
use-embeds: false
format: "[%vault_group%] %player_name%: %message%" embed:
title: "%player_name%" description: | **Mensaje:** %message% ♂️ **Jugador:**
%player_name% ️ **Rango:**
%vault_prefix% **Hora:**
%server_time_HH:mm:ss% **Mundo:**
%player_world% **Ubicación:** X:
%player_x% Y:%player_y% Z:%player_z% color: "#00ffff" footer: "Desde Minecraft" # Canal por defecto para alertas y anuncios channels:
general: "" alerts: "ID_DEL_CANAL_ALERTAS" announcements: "ID_DEL_CANAL_ANUNCIOS" link-channel: "ID_DEL_CANAL_DE_LINK" canal-staff: "ID_DEL_CANAL_DE_staff" sync-roles: true
# puedes activar o desactivar la sincronización fácilmente roles:
admin: "ROLE_ID_ADMIN" moderator: "ROLE_ID_MOD" vip: "ROLE_ID_VIP" default: "ROLE_ID_DEFAULT" # Opciones varias prefix: "§b[QsDiscord] §f"
Archivo de alertas
Code (YAML):
############################################################### # QSDISCORD - Sistema de Anuncios Automáticos # Configuración completa con explicación línea por línea para alertas. ###############################################################
# alerts.yml events:
enabled: true
# ⚡ Habilita o deshabilita todo el sistema de alertas. check-interval: 60
# ⏱ Intervalo en segundos para procesar alertas periódicas # ⚙️ Alertas relacionadas con comandos de administración admin:
- commandContains: "ban"# Esta alerta se activa cuando un comando contiene "ban" (ej: /ban jugador) message: "⛔ {executor} ha baneado a {player}"# Mensaje que se enviará al canal de Discord # {executor} se reemplaza por quien ejecutó el comando # {player} se reemplaza por el objetivo del comando channels: -
"canal-staff"# Lista de canales de Discord donde se enviará la alerta cooldown: 0
# ⏳ Tiempo mínimo en segundos antes de enviar otra alerta igual. # 0 = no hay espera, se envía siempre. sendOnce: false
# ✅ Si true, la alerta solo se enviará **una vez** por sesión del servidor # aunque el comando se ejecute varias veces. - commandContains: "unban"# Misma lógica que la anterior, pero para comandos que contengan "unban" message: "✅ {executor} ha desbaneado a {player}" channels: -
"canal-staff" cooldown: 0
sendOnce: false
- commandContains: "mute"# Alerta para comandos que contengan "mute" (silenciar jugadores) message: " {executor} ha silenciado a {player}" channels: -
"canal-staff" cooldown: 0
sendOnce: false
- commandContains: "kick"# Alerta para comandos que contengan "kick" (expulsar jugadores) message: " {executor} ha expulsado a {player}" channels: -
"canal-staff" cooldown: 0
sendOnce: false
Archivo de anuncios
Code (YAML):
############################################################### # QSDISCORD - Sistema de Anuncios Automáticos # Configuración completa con explicación línea por línea para anuncios ###############################################################
# Habilita o deshabilita todo el sistema de anuncios # Si está en false, no se ejecutarán chequeos ni eventos. enabled: false
# ⏱️ Intervalo en segundos para revisar los placeholders (no afecta a MythicMobs) # Ejemplo: 60 = cada 1 minuto se verifican las condiciones por jugador. check-interval: 60
# Lista general de eventos y condiciones a verificar # Pueden ser de tres tipos: # 1️⃣ Eventos de MythicMobs (spawn o muerte) # 2️⃣ Eventos basados en placeholders (por jugador) # 3️⃣ Eventos globales sin condiciones events:
############################################################### # ⚔️ Evento de aparición de un jefe de MythicMobs ############################################################### - key: skeletal_knight_spawn
# Identificador interno único del evento enabled: false
# al ponerlo en true se activa el evento mythicmob: "SkeletalKnight"# Nombre EXACTO del mob en MythicMobs onlyIfAlive: true
# true = cuando aparece / false = cuando muere message: "¡El jefe {mythicmob} ha aparecido!"# Mensaje enviado al canal Discord channels: # Canales Discord donde se enviará -
"announcements" cooldown: 300
# Tiempo mínimo (segundos) antes de volver a anunciar sendOnce: false
# Si true, solo se enviará una vez por reinicio
############################################################### # ⚰️ Evento de muerte del mismo jefe de MythicMobs ############################################################### - key: skeletal_knight_killed
enabled: false
mythicmob: "SkeletalKnight" onlyIfAlive: false
# En este caso se ejecuta al morir el mob message: "¡El jefe {mythicmob} ha sido derrotado!" channels: -
"announcements" cooldown: 300
# 5 minutos antes de poder enviar otro anuncio sendOnce: true
# Solo se envía una vez por reinicio
############################################################### # Evento basado en PlaceholderAPI: Jugadores con mucho dinero ############################################################### - key: rich_player
enabled: false
placeholders: # Lista de condiciones basadas en placeholders - placeholder: "%vault_eco_balance%"# Placeholder de economía condition: ">="# Tipo de comparación (> , < , >= , <= , == , !=) value: "1000.0"# Valor de referencia message: "¡{player} a obtenido 1000 monedas por primera vez!"# {player} = nombre del jugador channels: -
"alerts"# Canal Discord donde se envía sendOnce: true
# true = Solo se envía una vez por reinicio # false = puede enviarse varias veces si se cumple, es recomendable usar cooldown como el ejemplo ultimo
############################################################### # Evento basado en LuckPerms: Jugadores con rango específico ############################################################### - key: owner_player
enabled: false
placeholders:
- placeholder: "%luckperms_groups%"# Placeholder que devuelve todos los grupos del jugador condition: "=="# Condición de igualdad value: "owner"# Grupo que debe tener el jugador message: "¡{player} es administrador!"# Mensaje a enviar a Discord channels: -
"general" sendOnce: true
# true = Solo se envía una vez por reinicio ############################################################### # Evento global sin condición (mensaje fijo) ############################################################### - key: server_restart
enabled: false
message: "¡El servidor se reiniciará pronto!"# Mensaje sin condición channels: -
"announcements" cooldown: 3600
# 1 hora entre repeticiones sendOnce: false
# Puede repetirse después del cooldown
############################################################### # NOTAS TÉCNICAS # - Los eventos de MythicMobs se detectan en tiempo real (spawn/muerte). # - Los eventos de placeholders se revisan automáticamente cada `check-interval`. # - Los placeholders usan PlaceholderAPI (asegúrate de tenerlo instalado). # - {player}, {value} y {mythicmob} son variables que se reemplazan en tiempo real. # - Puedes resetear los cooldowns con el comando: /qsdc resetcooldown [key|jugador] # - La variable sendOnce hace que si esta true se envia una sola vez, pero si esta en false se vuelve enviar repetidas veces. ###############################################################
Archivo de mensajes
Code (YAML):
# Prefijo general del plugin prefix: "§b[QsDiscord] §f" chat-prefix: "§9[MC] §f" # Mensajes de permiso no-permission: "§cNo tienes permiso para usar este comando." startup-message: "✅ Servidor de Minecraft encendido y bot conectado a Discord." shutdown-message: " Desconectando bot de Discord..." channel-not-found: "⚠️ No se encontró el canal de Discord con ID" channel-not-configured: "⚠️ Canal no configurado" connecting-discord: " Conectando con Discord..."
# Mensajes de recarga reload-start: "§7Recargando configuración y reiniciando bot..." reload-success: "§a✅ Bot reiniciado correctamente." reload-fail: "§c❌ Token o canales no configurados correctamente." reload-config: " Recargando config.yml..." reload-config-success: "✅ config.yml recargado correctamente." reload-message: " Recargando messages.yml..." reload-message-success: "✅ messages.yml recargado correctamente." reload-message-fail: "§cError al recargar messages.yml:" reload-usage: "Uso: /qsdc reload <bot|config|messages|all>" reload-usage-incorrect: "Opción no válida. Usa: bot, config, messages, all" reload-all: " Reiniciando todo el plugin..." reload-all-success: " Reinicio completo finalizado."
# Mensajes de estado del bot bot-connected: "✅ Bot de Discord conectado correctamente." bot-disconnected: "❌ Error al iniciar el bot de Discord" bot-fail: "§cError al iniciar el bot: " bot-inactive: "ℹ️ Bot de Discord no estaba activo." bot-reload: " Reiniciando bot de Discord..." bot-off: "§c⏹ Apagando bot de Discord..." bot-off-success: "✅ bot apagado" bot-on: " Iniciando bot de Discord..." bot-on-success: "✅ Bot de Discord iniciado correctamente."
# Mensajes de alertas alert-prefix: "⚠️ ALERTA: " alert-sent: "§a✅ Alerta enviada a Discord." alert-fail: "§c❌ No se pudo enviar la alerta." usage-alert: "§cUso: /qsdc alert [canal] <mensaje>"
# Mensajes de anuncios announce-prefix: " ANUNCIO: " announce-sent: "§a✅ Anuncio enviado a Discord." announce-usage: "§cUso: /qsdc announce <mensaje>"
# Mensajes de help help-header: "§7- Comandos disponibles:" help: -
"§7/qsdc reload <bot|config|messages|all> §f- Reinicia el bot y recarga config" -
"§7/qsdc status §f- Muestra el estado del bot" -
"§7/qsdc alert [canal] <mensaje> §f- Envía una alerta al canal de Discord" -
"§7/qsdc announce [canal] <mensaje> §f- Envía un anuncio a Discord" -
"§7/qsdc setchannel <nombre> <id del canal> §f- Configura un canal de Discord" -
"§7/qsdc menu abre un menu de configuracion" -
"§7/qsdc announcetest <evento> ejecuta un anuncio que sea programado, es para pruebas." -
"§7/qsdc link Genera un código para vincular tu cuenta de Minecraft con Discord." -
"§7/qsdc unlink Desvincula tu cuenta de Discord de tu jugador Minecraft." -
"§7/qsdc sync [jugador] Sincroniza el rango que tiene el jugador con algun rol de discord programado." -
"§7/qsdc sync Sincroniza el rango que tienes con el rol de discord programado." -
"§7/qsdc adminlink <jugador> <discord_id> Vincula manualmente un jugador con un ID de Discord." -
"§7/qsdc adminunlink <jugador> Desvincula un jugador de su Discord manualmente." -
"§7/qsdc help §f- Muestra este mensaje"
# Mensaje de comando desconocido unknown-command: "§cComando desconocido. Usa /qsdc help para ver la lista." # Mensajes de vinculación de cuentas link-success: "✅ Cuenta vinculada correctamente!" link-fail: "❌ Código inválido o expirado." command-only-player: "§cEste comando solo se puede usar desde Minecraft." already-linked: "§eTu cuenta ya está vinculada con Discord: §f{discord}" link-code: "§aTu código de vinculación es: §f{code}" link-instructions: "§7Envía este código a nuestro bot de Discord con !link <código> para vincular tu cuenta." unlink-no-account: "§cNo tienes ninguna cuenta vinculada." unlink-success: "✅ Cuenta desvinculada correctamente! Discord: {discord}"
# ⚙️ Comandos principales de QsDiscord
reload: # Recarga parcial o total del plugin
/qsdc reload [bot|config|alerts|messages|all]
# Ejemplo: /qsdc reload bot → Reinicia solo el bot de Discord
menu: # Abre el menú de configuración del plugin
/qsdc menu
status: # Muestra si el bot de Discord está conectado
/qsdc status
# Ejemplo: /qsdc status → Bot conectado / desconectado
alert: # Envía un mensaje de alerta a un canal de Discord
/qsdc alert [canal] [mensaje]
# Ejemplo: /qsdc alert general ¡El evento comienza en 10 minutos!
announce: # Envía un anuncio a un canal de Discord
/qsdc announce [canal] [mensaje]
# Ejemplo: /qsdc announce announcements ¡Servidor reiniciando en 5 minutos!
link: # Genera un código para vincular tu cuenta de Minecraft con Discord
/qsdc link
# Ejemplo: /qsdc link → Recibe un código para usar en Discord
unlink: # Desvincula tu cuenta de Discord de tu jugador Minecraft
/qsdc unlink
# Ejemplo: /qsdc unlink → Se elimina la vinculación
sync: # Sincroniza el rol de Discord de un jugador
/qsdc sync [jugador]
# Si no se indica jugador, se aplica al propio jugador
# Ejemplo: /qsdc sync → Sincroniza tu rol
# Ejemplo: /qsdc sync Steve → Sincroniza el rol de Steve
setchannel: # Asigna un canal de Discord para alertas o anuncios
/qsdc setchannel <nombre> <id>
# Ejemplo: /qsdc setchannel general 123456789012345678
resetcooldown: # Restablece los tiempos de reutilización de eventos o jugadores
/qsdc resetcooldown [evento|jugador]
# Ejemplo: /qsdc resetcooldown → Resetea todos los cooldowns
# Ejemplo: /qsdc resetcooldown Steve → Resetea los cooldowns de Steve
announcetest: # Ejecuta un evento de prueba sin afectar el juego
/qsdc announcetest <evento>
# Ejemplo: /qsdc announcetest monster_kill
adminlink: # Vincula manualmente un jugador con un ID de Discord
/qsdc adminlink <jugador> <discord_id>
# Ejemplo: /qsdc adminlink Steve 123456789012345678
adminunlink: # Desvincula manualmente un jugador de su Discord
/qsdc adminunlink <jugador>
# Ejemplo: /qsdc adminunlink Steve
Tip: # Usa /qsdc help para ver todos los comandos disponibles en cualquier momento.
Permisos de QsDiscord
qsdiscord.reload → Recarga configuraciones del plugin.
qsdiscord.menu → ️ Abre el menú de configuración.
qsdiscord.adminlink → ️ Vincula cuentas manualmente.
qsdiscord.adminunlink → ️ Desvincula cuentas manualmente.
qsdiscord.sync → Sincroniza roles de Discord.
qsdiscord.alert → ⚠️ Envía alertas a Discord.
qsdiscord.announce → Envía anuncios a Discord.
qsdiscord.setchannel → Configura canales de Discord.
qsdiscord.announce.resetcooldown → ⏱️ Reinicia tiempos de reutilización.
qsdiscord.announce.test → Ejecuta eventos de prueba.
Tu opinión importa: Si disfrutas del plugin o tienes sugerencias, ¡queremos escucharte!
- ¿Tienes preguntas o problemas con el plugin?
Puedes recibir ayuda rápida uniéndote a nuestro Discord:
Haz clic aquí para unirte al Discord - No olvides dejar tu calificación y comentario, ¡nos ayuda a mejorar el plugin continuamente!