El auto-topic.lua El script publica avisos del centro configurado en el chat principal Verlihub en un intervalo establecido. Úselo para recordatorios de reglas, notas de mantenimiento, enlaces de soporte, sugerencias de comandos y mensajes comunitarios breves que no necesitan un bot externo independiente.
Mantenga este guión pequeño. Debería enviar mensajes cortos configurados y luego devolver el control a Verlihub. No agregue trabajos de ejecución prolongada, consultas de bases de datos, solicitudes HTTP externas, análisis de archivos ni esperas de bloqueo a este script.
Qué hace este guión
El script envía mensajes de chat principales automáticos desde un nombre de bot configurado o una identidad de centro.
Los usos comunes incluyen:
- Publicar recordatorios de reglas del centro.
- Publicar sitios web o enlaces de soporte.
- Anuncio de mantenimiento programado.
- Recordar a los usuarios sobre los comandos disponibles.
- Compartir enlaces comunitarios.
- Visualización de avisos rotativos.
- Publicar mensajes según la hora del día.
Ejemplo de aviso de chat principal:
<HubNotice> Please review the hub rules with !rules before sharing or chatting.
Requisitos
Este script requiere:
- Verlihub instalado y funcionando.
- El complemento Verlihub Lua instalado.
- El complemento Lua habilitado en Verlihub.
- Permiso para cargar y descargar scripts Lua.
- Un directorio de script grabable para archivos Verlihub Lua.
Antes de cargar el script, confirme que el complemento Lua esté activo:
!pluglist
Si el complemento Lua no aparece en la lista, cárguelo o habilítelo primero desde el artículo de configuración principal Lua.
Ubicación de archivo recomendada
Utilice un directorio de script dedicado:
mkdir -p /PATH/TO/HUB/scripts
Coloque el guión en:
/PATH/TO/HUB/scripts/auto-topic.lua
Para los sistemas de producción, solo los administradores de confianza o el usuario del servicio Verlihub deben poder escribir en el directorio. No permita que se pueda escribir en el directorio en todo el mundo.
Comandos de carga y descarga
Cargue el guión:
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Descargar el guión:
!luaunload /PATH/TO/HUB/scripts/auto-topic.lua
Si edita el script, descárguelo y cárguelo nuevamente:
!luaunload /PATH/TO/HUB/scripts/auto-topic.lua
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Utilice la ruta absoluta completa a menos que la configuración del complemento Verlihub Lua admita rutas relativas.
Código de secuencia de comandos
-- Script: auto-topic.lua
-- Purpose: Sends rotating automatic notices to Verlihub main chat.
-- Scope: Lightweight hub notices only.
-- Notes: Keep interval reasonable to avoid chat spam.
botname = "HubNotice"
interval = 900
counter = 0
notice_index = 1
notices = {
"Welcome to the hub. Please read the rules with !rules.",
"Need help? Use !help or contact an operator.",
"Visit our website for updates, guides, and hub information.",
"Keep main chat respectful and avoid spam or repeated messages."
}
function SendNotice()
if notices[notice_index] == nil then
notice_index = 1
end
VH:SendToAll("<" .. botname .. "> " .. notices[notice_index])
notice_index = notice_index + 1
if notice_index > table.getn(notices) then
notice_index = 1
end
end
function OnTimer()
counter = counter + 1
if counter >= interval then
counter = 0
SendNotice()
end
end
Opciones de configuración
botname
botname = "HubNotice"
El nombre que se muestra antes del aviso automático. Elija un nombre claro para que los usuarios comprendan que el mensaje es información del centro automatizado.
Ejemplos:
botname = "HubNotice"
botname = "RulesBot"
botname = "InfoBot"
botname = "Maintenance"
interval
interval = 900
Controla la frecuencia con la que el script envía un aviso. El valor previsto suele ser segundos, dependiendo de cómo esté configurado el temporizador Verlihub Lua en su entorno.
Valores recomendados:
| Valor | Significado |
|---|---|
300 | Cada 5 minutos. |
600 | Cada 10 minutos. |
900 | Cada 15 minutos. |
1800 | Cada 30 minutos. |
3600 | Cada 60 minutos. |
Para los centros de producción, 900 o 1800 suele ser más seguro que un intervalo corto. Evite valores que hagan que el hub sea ruidoso:
interval = 10
Un aviso cada 10 segundos es demasiado agresivo para el chat principal normal.
counter
counter = 0
Contador interno utilizado por el script. No cambie esto a menos que esté modificando la lógica del script.
notice_index
notice_index = 1
Pistas qué aviso debe enviarse a continuación. Deja esto en 1 a menos que desee que el script comience con un mensaje diferente.
notices
notices = {
"Welcome to the hub. Please read the rules with !rules.",
"Need help? Use !help or contact an operator.",
"Visit our website for updates, guides, and hub information.",
"Keep main chat respectful and avoid spam or repeated messages."
}
La lista de mensajes que rotan en el chat principal. Cada aviso debe ser breve, útil y no disruptivo.
Buenos ejemplos de avisos:
notices = {
"Use !rules to view hub rules.",
"Use !help to see available commands.",
"Operators are marked in the user list if you need assistance.",
"Please keep main chat friendly and on topic."
}
Evite avisos largos, repetidos o agresivos. Es más probable que los usuarios ignoren los mensajes automáticos cuando aparecen con demasiada frecuencia.
Configuraciones de ejemplo
Recordatorio de reglas básicas
botname = "RulesBot"
interval = 1800
notices = {
"Please read the hub rules with !rules.",
"Do not spam main chat or repeat the same message.",
"Respect other users and follow operator instructions."
}
Aviso sobre sitio web y soporte
botname = "InfoBot"
interval = 3600
notices = {
"Visit the website for hub guides, updates, and support.",
"Need help? Use !help or contact an operator.",
"Check the articles section for Verlihub setup notes and Lua scripts."
}
Aviso de mantenimiento
botname = "Maintenance"
interval = 900
notices = {
"Scheduled maintenance may occur during low-traffic hours.",
"If the hub disconnects during maintenance, reconnect after a few minutes.",
"Check the website for maintenance updates."
}
Aviso comunitario
botname = "Community"
interval = 1800
notices = {
"Welcome to the hub. Keep chat friendly and helpful.",
"Use main chat for general discussion. Contact operators for support issues.",
"Invite trusted users and help keep the hub useful."
}
Configuraciones de producción recomendadas
Para la mayoría de los centros, utilice un intervalo de 15 o 30 minutos:
botname = "HubNotice"
interval = 1800
notices = {
"Welcome to the hub. Use !rules to review the hub rules.",
"Need help? Use !help or contact an operator.",
"Keep main chat respectful and avoid spam."
}
Esto mantiene los avisos visibles sin inundar el chat. Para centros ocupados, utilice:
interval = 3600
Para centros silenciosos, utilice:
interval = 1800
La automatización del chat principal debería apoyar a la comunidad, no interrumpirla.
Probando el guión
Después de cargar el script, confirme que:
- El script se carga sin errores.
- El aviso aparece en el chat principal.
- Los avisos rotan en el orden esperado.
- El intervalo no es demasiado agresivo.
- El nombre del bot es claro.
- El script se descarga limpiamente.
- La recarga del script no crea temporizadores ni avisos duplicados.
Pruebe primero con un intervalo corto y luego cámbielo al intervalo de producción.
Ejemplo de configuración de prueba:
interval = 30
Después de la prueba, cámbielo nuevamente:
interval = 1800
Luego recarga el script.
Solución de problemas
El guión no se carga
Compruebe que el complemento Lua esté activo:
!pluglist
Compruebe que la ruta del archivo sea correcta:
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Utilice la ruta absoluta si las rutas relativas no funcionan.
Los avisos no aparecen
Controlar:
- El complemento Lua está cargado.
- La ruta del script es correcta.
- Su versión del complemento Verlihub Lua admite la función de temporizador.
- El intervalo no es demasiado alto durante la prueba.
- El
noticesLa tabla contiene al menos un mensaje.
Usar temporalmente:
interval = 30
Luego vuelva a cargar el script y espere el próximo aviso.
Los avisos aparecen con demasiada frecuencia
Aumente el intervalo.
interval = 1800
o:
interval = 3600
Evite intervalos cortos en producción.
Aparecen avisos duplicados
Esto generalmente significa que el script se cargó más de una vez o que una instancia anterior no se descargó correctamente.
Descargar el guión:
!luaunload /PATH/TO/HUB/scripts/auto-topic.lua
Luego cárgalo nuevamente:
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Si continúan los duplicados, reinicie el complemento Lua o el servicio Verlihub durante una ventana de mantenimiento.
Errores de secuencia de comandos después de editar avisos
Verifique la sintaxis Lua. Cada línea de aviso debe terminar con una coma excepto la última línea, que podrá omitirla.
Correcto:
notices = {
"First notice.",
"Second notice.",
"Third notice."
}
Incorrecto:
notices = {
"First notice."
"Second notice."
}
Al ejemplo incorrecto le falta una coma después del primer mensaje.
Notas de seguridad
Este script debe ser liviano. No agregue:
- Solicitudes HTTP externas.
- Consultas a bases de datos.
- Escaneo de archivos.
- Bucles largos.
- Bloquear llamadas de sueño.
- Procesamiento pesado por usuario.
El script sólo debe rotar los avisos configurados y enviarlos en un intervalo razonable.
Notas de mantenimiento
Mantenga una copia de seguridad antes de cambiar el script:
cp /PATH/TO/HUB/scripts/auto-topic.lua /PATH/TO/HUB/scripts/auto-topic.lua.bak
Si usa Git:
cd /PATH/TO/HUB/scripts
git add auto-topic.lua
git commit -m "Update auto-topic.lua notices"
Cuando se cambia solo el nombre del bot, los avisos o el intervalo, no se requieren cambios lógicos.
Reglas sugeridas para redactar avisos
Los buenos avisos son breves y útiles.
Recomendado:
- Una idea por aviso.
- Redacción clara.
- Sin puntuación repetida.
- No hay mensajes en mayúsculas.
- No publicar publicaciones demasiado frecuentes.
- No hay párrafos largos en el chat principal.
Evitar:
- Publicando cada pocos segundos.
- Publicar el mismo mensaje repetidamente.
- Utilizar avisos únicamente como publicidad.
- Envío de grandes bloques de reglas al chat principal.
- Interrumpir conversaciones activas con demasiada frecuencia.