Erstellt: 2026/07/02 19:41:27 America/Chicago
Von: admin

Der auto-topic.lua Das Skript sendet konfigurierte Hub-Benachrichtigungen in einem festgelegten Intervall an den Hauptchat Verlihub. Verwenden Sie es für Regelerinnerungen, Wartungshinweise, Support-Links, Befehlshinweise und kurze Community-Nachrichten, die keinen separaten externen Bot benötigen.

Halten Sie dieses Skript klein. Es sollte kurze konfigurierte Nachrichten senden und dann die Kontrolle an Verlihub zurückgeben. Fügen Sie diesem Skript keine lang laufenden Jobs, Datenbankabfragen, externen HTTP-Anfragen, Dateiscans oder blockierenden Wartezeiten hinzu.

Was dieses Skript macht

Das Skript sendet automatische Hauptchatnachrichten von einem konfigurierten Bot-Namen oder einer Hub-Identität.

Zu den häufigen Verwendungszwecken gehören:

  • Erinnerungen an die Post-Hub-Regeln.
  • Veröffentlichung von Website- oder Support-Links.
  • Ankündigung geplanter Wartungsarbeiten.
  • Erinnert Benutzer an verfügbare Befehle.
  • Community-Links teilen.
  • Wechselanzeigen anzeigen.
  • Veröffentlichen von Nachrichten zur Tageszeit.

Beispiel für einen Haupt-Chat-Hinweis:

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

Anforderungen

Dieses Skript erfordert:

  • Verlihub installiert und läuft.
  • Das Plugin Verlihub Lua ist installiert.
  • Das Plugin Lua ist in Verlihub aktiviert.
  • Berechtigung zum Laden und Entladen von Lua-Skripten.
  • Ein beschreibbares Skriptverzeichnis für Verlihub Lua Dateien.

Stellen Sie vor dem Laden des Skripts sicher, dass das Plugin Lua aktiv ist:

!pluglist

Wenn das Plugin Lua nicht aufgeführt ist, laden oder aktivieren Sie es zuerst aus dem übergeordneten Setup-Artikel Lua.

Verwenden Sie ein dediziertes Skriptverzeichnis:

mkdir -p /PATH/TO/HUB/scripts

Platzieren Sie das Skript unter:

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

Bei Produktionssystemen sollte das Verzeichnis nur von vertrauenswürdigen Administratoren oder vom Dienstbenutzer Verlihub beschreibbar sein. Machen Sie das Verzeichnis nicht weltweit beschreibbar.

Befehle zum Laden und Entladen

Laden Sie das Skript:

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

Entladen Sie das Skript:

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

Wenn Sie das Skript bearbeiten, entladen Sie es und laden Sie es erneut:

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

Verwenden Sie den vollständigen absoluten Pfad, es sei denn, Ihre Plugin-Konfiguration Lua unterstützt relative Pfade.

Skriptcode

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

Konfigurationsoptionen

botname

botname = "HubNotice"

Der Name, der vor der automatischen Benachrichtigung angezeigt wird. Wählen Sie einen eindeutigen Namen, damit Benutzer verstehen, dass es sich bei der Nachricht um automatisierte Hub-Informationen handelt.

Beispiele:

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

interval

interval = 900

Steuert, wie oft das Skript eine Benachrichtigung sendet. Der vorgesehene Wert beträgt normalerweise Sekunden, abhängig davon, wie der Timer Verlihub Lua in Ihrer Umgebung konfiguriert ist.

Empfohlene Werte:

WertBedeutung
300Alle 5 Minuten.
600Alle 10 Minuten.
900Alle 15 Minuten.
1800Alle 30 Minuten.
3600Alle 60 Minuten.

Für Produktionszentren, 900 oder 1800 ist normalerweise sicherer als ein kurzes Intervall. Vermeiden Sie Werte, die den Hub laut machen:

interval = 10

Eine Benachrichtigung alle 10 Sekunden ist für einen normalen Hauptchat zu aggressiv.

counter

counter = 0

Interner Zähler, der vom Skript verwendet wird. Ändern Sie dies nicht, es sei denn, Sie ändern die Skriptlogik.

notice_index

notice_index = 1

Verfolgt, welche Benachrichtigung als nächstes gesendet werden soll. Lassen Sie dies hier 1 es sei denn, Sie möchten, dass das Skript mit einer anderen Nachricht beginnt.

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

Die Liste der Nachrichten, die im Hauptchat rotieren. Jede Mitteilung sollte kurz, nützlich und nicht störend sein.

Gute Beispiele für Bekanntmachungen:

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

Vermeiden Sie lange, wiederholte oder aggressive Mitteilungen. Benutzer ignorieren automatisierte Nachrichten eher, wenn sie zu oft erscheinen.

Beispielkonfigurationen

Erinnerung an die Grundregeln

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

Website- und Support-Hinweis

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

Wartungshinweis

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

Community-Hinweis

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

Verwenden Sie für die meisten Hubs ein 15-Minuten- oder 30-Minuten-Intervall:

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

Dadurch bleiben Benachrichtigungen sichtbar, ohne dass der Chat überflutet wird. Für stark frequentierte Knotenpunkte verwenden Sie:

interval = 3600

Für leise Hubs verwenden Sie:

interval = 1800

Die Haupt-Chat-Automatisierung sollte die Community unterstützen und nicht unterbrechen.

Testen des Skripts

Bestätigen Sie nach dem Laden des Skripts Folgendes:

  • Das Skript wird ohne Fehler geladen.
  • Der Hinweis erscheint im Hauptchat.
  • Die Hinweise wechseln sich in der erwarteten Reihenfolge ab.
  • Das Intervall ist nicht zu aggressiv.
  • Der Bot-Name ist klar.
  • Das Skript wird sauber entladen.
  • Durch das Neuladen des Skripts werden keine doppelten Timer oder doppelten Benachrichtigungen erstellt.

Testen Sie zunächst mit einem kurzen Intervall und ändern Sie es dann auf das Produktionsintervall.

Beispielhafte Testeinstellung:

interval = 30

Ändern Sie es nach dem Testen wieder:

interval = 1800

Laden Sie dann das Skript neu.

Fehlerbehebung

Das Skript wird nicht geladen

Überprüfen Sie, ob das Plugin Lua aktiv ist:

!pluglist

Überprüfen Sie, ob der Dateipfad korrekt ist:

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

Verwenden Sie den absoluten Pfad, wenn relative Pfade nicht funktionieren.

Hinweise werden nicht angezeigt

Überprüfen:

  • Das Plugin Lua ist geladen.
  • Der Skriptpfad ist korrekt.
  • Ihre Plugin-Version Verlihub Lua unterstützt die Timer-Funktion.
  • Das Intervall ist beim Testen nicht zu hoch.
  • Der notices Die Tabelle enthält mindestens eine Nachricht.

Vorübergehend nutzen:

interval = 30

Laden Sie dann das Skript neu und warten Sie auf die nächste Benachrichtigung.

Hinweise erscheinen zu oft

Erhöhen Sie das Intervall.

interval = 1800

oder:

interval = 3600

Vermeiden Sie kurze Produktionsintervalle.

Es erscheinen doppelte Benachrichtigungen

Dies bedeutet normalerweise, dass das Skript mehr als einmal geladen wurde oder eine alte Instanz nicht korrekt entladen wurde.

Entladen Sie das Skript:

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

Dann laden Sie es erneut:

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

Wenn weiterhin Duplikate auftreten, starten Sie das Plugin Lua oder den Dienst Verlihub während eines Wartungsfensters neu.

Skriptfehler nach dem Bearbeiten von Hinweisen

Überprüfen Sie die Syntax von Lua. Jede Hinweiszeile sollte mit einem Komma enden, mit Ausnahme der letzten Zeile, in der es weggelassen werden kann.

Richtig:

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

Falsch:

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

Im falschen Beispiel fehlt nach der ersten Nachricht ein Komma.

Sicherheitshinweise

Dieses Skript sollte leichtgewichtig bleiben. Nicht hinzufügen:

  • Externe HTTP-Anfragen.
  • Datenbankabfragen.
  • Scannen von Dateien.
  • Lange Schleifen.
  • Schlafrufe blockieren.
  • Starke Verarbeitung pro Benutzer.

Das Skript sollte konfigurierte Benachrichtigungen nur rotieren und in angemessenen Abständen senden.

Wartungshinweise

Erstellen Sie ein Backup, bevor Sie das Skript ändern:

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

Bei Verwendung von Git:

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

Wenn nur der Bot-Name, die Benachrichtigungen oder das Intervall geändert werden, sind keine logischen Änderungen erforderlich.

Empfohlene Regeln für das Verfassen von Mitteilungen

Gute Mitteilungen sind kurz und nützlich.

Empfohlen:

  • Eine Idee pro Bekanntmachung.
  • Klare Formulierung.
  • Keine wiederholten Satzzeichen.
  • Keine Nachrichten in Großbuchstaben.
  • Kein übermäßig häufiges Posten.
  • Keine langen Absätze im Hauptchat.

Vermeiden:

  • Alle paar Sekunden etwas posten.
  • Immer wieder die gleiche Nachricht posten.
  • Verwendung von Hinweisen nur als Werbung.
  • Senden großer Regelblöcke an den Hauptchat.
  • Aktive Gespräche zu oft unterbrechen.

Übergeordnete Seite