Créé: 2026/07/02 19:41:27 America/Chicago
Par: admin

Le auto-topic.lua Le script publie des notifications de hub configurées sur le chat principal Verlihub à un intervalle défini. Utilisez-le pour les rappels de règles, les notes de maintenance, les liens d'assistance, les astuces de commande et les courts messages de communauté qui ne nécessitent pas de robot externe distinct.

Gardez ce script petit. Il doit envoyer de courts messages configurés, puis rendre le contrôle à Verlihub. N'ajoutez pas de tâches de longue durée, de requêtes de base de données, de requêtes HTTP externes, d'analyses de fichiers ou d'attentes bloquantes à ce script.

Ce que fait ce script

Le script envoie des messages de discussion principaux automatiques à partir d'un nom de bot ou d'une identité de hub configuré.

Les utilisations courantes incluent:

  • Publication de rappels de règles du hub.
  • Publication de sites Web ou de liens d'assistance.
  • Annonce de la maintenance programmée.
  • Rappeler aux utilisateurs les commandes disponibles.
  • Partage de liens communautaires.
  • Affichage des avis tournants.
  • Publication de messages d'heure.

Exemple d'avis de discussion principal:

<HubNotice> Please review the hub rules with !rules before sharing or chatting.

Exigences

Ce script nécessite:

  • Verlihub installé et en cours d’exécution.
  • Le plugin Verlihub Lua installé.
  • Le plugin Lua activé dans Verlihub.
  • Autorisation de charger et décharger les scripts Lua.
  • Un répertoire de scripts inscriptible pour les fichiers Verlihub Lua.

Avant de charger le script, vérifiez que le plugin Lua est actif:

!pluglist

Si le plug-in Lua n'est pas répertorié, chargez-le ou activez-le d'abord à partir de l'article de configuration parent Lua.

Utilisez un répertoire de script dédié:

mkdir -p /PATH/TO/HUB/scripts

Placez le script à:

/PATH/TO/HUB/scripts/auto-topic.lua

Pour les systèmes de production, le répertoire doit être accessible en écriture uniquement par des administrateurs de confiance ou par l'utilisateur du service Verlihub. Ne rendez pas le répertoire accessible en écriture partout.

Commandes de chargement et de déchargement

Chargez le script:

!luaload /PATH/TO/HUB/scripts/auto-topic.lua

Déchargez le script:

!luaunload /PATH/TO/HUB/scripts/auto-topic.lua

Si vous modifiez le script, déchargez-le et chargez-le à nouveau:

!luaunload /PATH/TO/HUB/scripts/auto-topic.lua
!luaload /PATH/TO/HUB/scripts/auto-topic.lua

Utilisez le chemin absolu complet, sauf si la configuration de votre plugin Verlihub Lua prend en charge les chemins relatifs.

Code de script

-- 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

Options de configuration

botname

botname = "HubNotice"

Le nom affiché avant la notification automatique. Choisissez un nom clair pour que les utilisateurs comprennent que le message concerne des informations automatisées sur le hub.

Exemples:

botname = "HubNotice"
botname = "RulesBot"
botname = "InfoBot"
botname = "Maintenance"

interval

interval = 900

Contrôle la fréquence à laquelle le script envoie une notification. La valeur prévue est généralement en secondes, selon la façon dont le minuteur Verlihub Lua est configuré dans votre environnement.

Valeurs recommandées:

ValeurSignification
300Toutes les 5 minutes.
600Toutes les 10 minutes.
900Toutes les 15 minutes.
1800Toutes les 30 minutes.
3600Toutes les 60 minutes.

Pour les pôles de production, 900 ou 1800 est généralement plus sûr qu’un court intervalle. Évitez les valeurs qui rendent le hub bruyant:

interval = 10

Une notification toutes les 10 secondes est trop agressive pour un chat principal normal.

counter

counter = 0

Compteur interne utilisé par le script. Ne changez pas cela sauf si vous modifiez la logique du script.

notice_index

notice_index = 1

Pistes dont l'avis doit être envoyé ensuite. Laissez ça à 1 sauf si vous souhaitez que le script démarre à partir d'un message différent.

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 liste des messages qui tournent dans le chat principal. Chaque avis doit être court, utile et non perturbateur.

Exemples de bons avis:

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."
}

Évitez les notifications longues, répétées ou agressives. Les utilisateurs sont plus susceptibles d’ignorer les messages automatisés lorsqu’ils apparaissent trop souvent.

Exemples de configurations

Rappel des règles de base

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."
}

Site Web et avis d'assistance

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."
}

Avis d'entretien

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."
}

Avis communautaire

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."
}

Pour la plupart des hubs, utilisez un intervalle de 15 ou 30 minutes:

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."
}

Cela garde les notifications visibles sans inonder le chat. Pour les hubs très fréquentés, utilisez:

interval = 3600

Pour les hubs silencieux, utilisez:

interval = 1800

L'automatisation principale du chat doit soutenir la communauté et non l'interrompre.

Tester le script

Après avoir chargé le script, confirmez que:

  • Le script se charge sans erreur.
  • L'avis apparaît dans le chat principal.
  • Les avis tournent dans l’ordre prévu.
  • L'intervalle n'est pas trop agressif.
  • Le nom du bot est clair.
  • Le script se décharge proprement.
  • Le rechargement du script ne crée pas de minuteries en double ni de notifications en double.

Testez d'abord avec un intervalle court, puis remplacez-le par l'intervalle de production.

Exemple de paramètre de test:

interval = 30

Après le test, modifiez-le:

interval = 1800

Rechargez ensuite le script.

Dépannage

Le script ne se charge pas

Vérifiez que le plugin Lua est actif:

!pluglist

Vérifiez que le chemin du fichier est correct:

!luaload /PATH/TO/HUB/scripts/auto-topic.lua

Utilisez le chemin absolu si les chemins relatifs ne fonctionnent pas.

Les avis n'apparaissent pas

Vérifier:

  • Le plugin Lua est chargé.
  • Le chemin du script est correct.
  • Votre version du plugin Verlihub Lua prend en charge la fonction minuterie.
  • L'intervalle n'est pas trop élevé lors des tests.
  • Le notices La table contient au moins un message.

Utiliser temporairement:

interval = 30

Rechargez ensuite le script et attendez le prochain avis.

Les avis apparaissent trop souvent

Augmentez l'intervalle.

interval = 1800

ou:

interval = 3600

Évitez les intervalles courts en production.

Des avis en double apparaissent

Cela signifie généralement que le script a été chargé plus d'une fois ou qu'une ancienne instance ne s'est pas déchargée correctement.

Déchargez le script:

!luaunload /PATH/TO/HUB/scripts/auto-topic.lua

Puis chargez-le à nouveau:

!luaload /PATH/TO/HUB/scripts/auto-topic.lua

Si les doublons persistent, redémarrez le plugin Lua ou le service Verlihub pendant une fenêtre de maintenance.

Erreurs de script après la modification des avis

Vérifiez la syntaxe Lua. Chaque ligne d'avis doit se terminer par une virgule, sauf la dernière ligne, qui peut l'omettre.

Correct:

notices = {
    "First notice.",
    "Second notice.",
    "Third notice."
}

Incorrect:

notices = {
    "First notice."
    "Second notice."
}

Dans l'exemple incorrect, il manque une virgule après le premier message.

Notes de sécurité

Ce script doit rester léger. N'ajoutez pas:

  • Requêtes HTTP externes.
  • Requêtes de base de données.
  • Analyse de fichiers.
  • Longues boucles.
  • Bloquer les appels en veille.
  • Traitement lourd par utilisateur.

Le script doit uniquement alterner les notifications configurées et les envoyer à un intervalle raisonnable.

Notes d'entretien

Conservez une sauvegarde avant de modifier le script:

cp /PATH/TO/HUB/scripts/auto-topic.lua /PATH/TO/HUB/scripts/auto-topic.lua.bak

Si vous utilisez Git:

cd /PATH/TO/HUB/scripts
git add auto-topic.lua
git commit -m "Update auto-topic.lua notices"

Lorsque vous modifiez uniquement le nom du robot, les notifications ou l'intervalle, aucune modification logique n'est requise.

Règles de rédaction des avis suggérées

Les bons avis sont courts et utiles.

Recommandé:

  • Une idée par avis.
  • Formulation claire.
  • Pas de ponctuation répétée.
  • Pas de messages en majuscules.
  • Pas de publication trop fréquente.
  • Pas de longs paragraphes dans le chat principal.

Éviter:

  • Publication toutes les quelques secondes.
  • Publier le même message à plusieurs reprises.
  • Utiliser les avis uniquement à titre publicitaire.
  • Envoi de gros blocs de règles au chat principal.
  • Interrompre trop souvent les conversations actives.

Page Parente