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.
Empfohlener Dateispeicherort
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:
| Wert | Bedeutung |
|---|---|
300 | Alle 5 Minuten. |
600 | Alle 10 Minuten. |
900 | Alle 15 Minuten. |
1800 | Alle 30 Minuten. |
3600 | Alle 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."
}
Empfohlene Produktionseinstellungen
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
noticesDie 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.