Documentación / Roles de Discord

Roles de Discord

VIP temporales, exports VIP in-game, roles de staff en Discord, bot y tickets.

Conectar el bot

  1. 1Panel Settings → WebLogs → configura el bot global (recomendado) o usa token propio.
  2. 2Mis servidores → pestaña DiscordBotInvitar botConectar y detectar.
  3. 3Tras detectar, los desplegables de roles y canales se rellenan solos.
En el Developer Portal activa Server Members Intent. El rol del bot en Discord debe estar por encima de los roles VIP que vaya a asignar.

VIP temporales (Discord VIP)

Asigna roles de Discord (VIP, VIP+, PRO, etc.) con fecha de caducidad desde el panel:

  1. 1Mis servidores → DiscordBot → tabla Roles VIP: elige los roles de tu Discord (el nombre del rol es el rango in-game).
  2. 2Opcional por rol: ACE group y Job ESX (para usarlo in-game desde tus scripts).
  3. 3Configura canal staff, días de aviso previo y mensajes automáticos (MD + canal).
  4. 4Staff con permiso Discord VIP gestiona asignaciones en el menú Discord VIP del panel (también /vip en Discord y premios de sorteos).
  5. 5Los roles caducados se quitan solos; los avisos previos se envían según los días que configures.
Permiso panelCapacidad
Ver Discord VIPConsultar asignaciones VIP
Gestionar Discord VIPAsignar, extender y quitar VIP

Usar el VIP in-game (exports)

Adictos_WebLogs cachea los VIP activos del panel al arrancar y los actualiza al asignar/quitar/caducar. Desde tus scripts puedes leer el rango del jugador con estos exports (servidor):

ExportQué devuelve
GetPlayerRank(src)Nombre del rango ("VIP", "VIP+", "PRO"…) o false
GetPlayerRankInfo(src)Detalle: role_name, esx_job, end_date_ms, …
EnsurePlayerRank(src)Asegura el rango en caché para ese jugador (útil al conectar)
HasPlayerRank(src)true si tiene algún rango activo
-- Ejemplo en tu script (servidor)
local src = source
local rank = exports['Adictos_WebLogs']:GetPlayerRank(src)

if rank == 'VIP++' then
    -- ventaja máximo rango
elseif rank == 'VIP+' then
    -- …
elseif rank then
    -- cualquier otro nombre configurado en DiscordBot (VIP, PRO, …)
else
    -- sin VIP
end

local info = exports['Adictos_WebLogs']:GetPlayerRankInfo(src)
-- info.role_name, info.esx_job, info.end_date_ms
-- Al conectar / personaje listo
AddEventHandler('esx:playerLoaded', function(playerId)
    local src = tonumber(playerId) or source
    exports['Adictos_WebLogs']:EnsurePlayerRank(src)
end)

-- Cambio en caliente (panel asignó o caducó VIP)
AddEventHandler('adictos_weblogs:playerVipUpdated', function(src, info)
    print(('VIP src=%s rank=%s'):format(src, tostring(info.role_name)))
end)
El rango es el nombre exacto del rol de DiscordBot (VIP, PRO, Pro+, …). Compara con ese string en tus scripts.

Roles de staff en Discord

En Mis servidores → DiscordBot → Roles de staff elige el rol administrador y/o moderador de tu Discord.

  • En hilos de tickets, quien tenga esos roles escribe como staff (no como jugador).
  • Pueden reclamar, cerrar, reabrir y usar /ticketadd en el hilo.
  • Pueden usar el comando /vip en el canal staff configurado.

Rol requerido en botones de tickets

En Configuración de tickets → Panel Discord puedes publicar un mensaje con botones. Cada botón puede exigir un rol concreto (donaciones, whitelist, comunidad…). Solo miembros con ese rol pueden abrir ticket desde ese botón.

Blacklist de tickets por rol

Configuración de tickets → Blacklist → tipo Rol Discord. Impide abrir tickets (total o solo en categorías seleccionadas) a quien tenga ese rol. Útil para aislar roles de sanción o cuentas restringidas.

Bot de tickets Discord

Worker aparte que sincroniza hilos con el panel. Tras conectar DiscordBot y configurar canales en Configuración de tickets → Discord sync, inicia el bot desde Panel Settings → WebLogs.

  • Jugadores: botones del panel o /ticket en Discord.
  • Staff: /ticketadd dentro del hilo para añadir otro usuario de Discord.
  • Mensajes del hilo ↔ panel web e in-game (si el jugador está vinculado en players).