De auto-topic.lua script plaatst geconfigureerde hub-kennisgevingen met een ingesteld interval in de hoofdchat Verlihub. Gebruik het voor regelherinneringen, onderhoudsnotities, ondersteuningslinks, opdrachthints en korte communityberichten waarvoor geen aparte externe bot nodig is.
Houd dit script klein. Het moet korte geconfigureerde berichten verzenden en vervolgens de controle teruggeven aan Verlihub. Voeg geen langlopende taken, databasequery's, externe HTTP-verzoeken, bestandsscans of blokkerende wachttijden toe aan dit script.
Wat dit script doet
Het script verzendt automatische hoofdchatberichten vanaf een geconfigureerde botnaam of hub-identiteit.
Veel voorkomende toepassingen zijn onder meer:
- Herinneringen voor hubregels posten.
- Website- of ondersteuningslinks plaatsen.
- Aankondiging van gepland onderhoud.
- Gebruikers herinneren aan beschikbare opdrachten.
- Communitylinks delen.
- Wisselende mededelingen weergeven.
- Berichten op het tijdstip van de dag plaatsen.
Voorbeeld van een hoofdchatmelding:
<HubNotice> Please review the hub rules with !rules before sharing or chatting.
Vereisten
Dit script vereist:
- Verlihub geïnstalleerd en actief.
- De plug-in Verlihub Lua is geïnstalleerd.
- De plug-in Lua is ingeschakeld in Verlihub.
- Toestemming om Lua-scripts te laden en te verwijderen.
- Een beschrijfbare scriptmap voor Verlihub Lua bestanden.
Controleer voordat u het script laadt of de plug-in Lua actief is:
!pluglist
Als de plug-in Lua niet in de lijst staat, laadt of schakelt u deze eerst in via het bovenliggende installatieartikel Lua.
Aanbevolen bestandslocatie
Gebruik een speciale scriptdirectory:
mkdir -p /PATH/TO/HUB/scripts
Plaats het script op:
/PATH/TO/HUB/scripts/auto-topic.lua
Voor productiesystemen mag de directory alleen schrijfbaar zijn door vertrouwde beheerders of door de servicegebruiker Verlihub. Maak de directory niet schrijfbaar voor iedereen.
Opdrachten voor laden en lossen
Laad het script:
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Het script uitladen:
!luaunload /PATH/TO/HUB/scripts/auto-topic.lua
Als u het script bewerkt, verwijdert u het en laadt u het opnieuw:
!luaunload /PATH/TO/HUB/scripts/auto-topic.lua
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Gebruik het volledige absolute pad tenzij uw plug-inconfiguratie Verlihub Lua relatieve paden ondersteunt.
Scriptcode
-- 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
Configuratie-opties
botname
botname = "HubNotice"
De naam die vóór de automatische melding wordt weergegeven. Kies een duidelijke naam zodat gebruikers begrijpen dat het bericht geautomatiseerde hub-informatie is.
Voorbeelden:
botname = "HubNotice"
botname = "RulesBot"
botname = "InfoBot"
botname = "Maintenance"
interval
interval = 900
Bepaalt hoe vaak het script een melding verzendt. De beoogde waarde is doorgaans seconden, afhankelijk van hoe de timer Verlihub Lua in uw omgeving is geconfigureerd.
Aanbevolen waarden:
| Waarde | Betekenis |
|---|---|
300 | Elke 5 minuten. |
600 | Elke 10 minuten. |
900 | Elke 15 minuten. |
1800 | Elke 30 minuten. |
3600 | Elke 60 minuten. |
Voor productiehubs is 900 of 1800 is meestal veiliger dan een kort interval. Vermijd waarden die de hub luidruchtig maken:
interval = 10
Een melding elke 10 seconden is te agressief voor een normale hoofdchat.
counter
counter = 0
Interne teller gebruikt door het script. Wijzig dit niet tenzij u de scriptlogica wijzigt.
notice_index
notice_index = 1
Houdt bij welke kennisgeving als volgende moet worden verzonden. Laat dit staan 1 tenzij je wilt dat het script vanuit een ander bericht begint.
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."
}
De lijst met berichten die roteren in de hoofdchat. Elke kennisgeving moet kort, nuttig en niet-verstorend zijn.
Voorbeelden van goede kennisgevingen:
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."
}
Vermijd lange, herhaalde of agressieve mededelingen. Het is waarschijnlijker dat gebruikers geautomatiseerde berichten negeren als ze te vaak verschijnen.
Voorbeeldconfiguraties
Herinnering basisregels
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- en ondersteuningsmededeling
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."
}
Onderhoudsmelding
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."
}
Communautaire mededeling
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."
}
Aanbevolen productie-instellingen
Gebruik voor de meeste hubs een interval van 15 minuten of 30 minuten:
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."
}
Hierdoor blijven mededelingen zichtbaar zonder dat de chat wordt overspoeld. Gebruik voor drukke hubs:
interval = 3600
Gebruik voor stille hubs:
interval = 1800
De belangrijkste chatautomatisering moet de community ondersteunen en niet onderbreken.
Het script testen
Bevestig na het laden van het script dat:
- Het script wordt zonder fouten geladen.
- De melding verschijnt in de hoofdchat.
- Mededelingen roteren in de verwachte volgorde.
- Het interval is niet te agressief.
- De botnaam is duidelijk.
- Het script wordt netjes verwijderd.
- Het opnieuw laden van het script creëert geen dubbele timers of dubbele mededelingen.
Test eerst met een kort interval en verander dit vervolgens naar het productie-interval.
Voorbeeld testinstelling:
interval = 30
Na het testen, verander het terug:
interval = 1800
Laad het script vervolgens opnieuw.
Problemen oplossen
Het script wordt niet geladen
Controleer of de plug-in Lua actief is:
!pluglist
Controleer of het bestandspad correct is:
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Gebruik het absolute pad als relatieve paden niet werken.
Kennisgevingen verschijnen niet
Rekening:
- De plug-in Lua is geladen.
- Het scriptpad is correct.
- Uw plug-inversie Verlihub Lua ondersteunt de timerfunctie.
- Het interval tijdens het testen is niet te hoog.
- De
noticestabel bevat ten minste één bericht.
Tijdelijk gebruik:
interval = 30
Laad vervolgens het script opnieuw en wacht op de volgende melding.
Mededelingen verschijnen te vaak
Verhoog het interval.
interval = 1800
of:
interval = 3600
Vermijd korte productie-intervallen.
Er verschijnen dubbele mededelingen
Dit betekent meestal dat het script meer dan één keer is geladen of dat een oud exemplaar niet correct is geladen.
Het script uitladen:
!luaunload /PATH/TO/HUB/scripts/auto-topic.lua
Laad het vervolgens opnieuw:
!luaload /PATH/TO/HUB/scripts/auto-topic.lua
Als er nog steeds duplicaten voorkomen, start u de plug-in Lua of de service Verlihub opnieuw tijdens een onderhoudsperiode.
Scriptfouten na het bewerken van mededelingen
Controleer de syntaxis van Lua. Elke mededelingsregel moet eindigen met een komma, behalve de laatste regel, die mag worden weggelaten.
Juist:
notices = {
"First notice.",
"Second notice.",
"Third notice."
}
Onjuist:
notices = {
"First notice."
"Second notice."
}
In het onjuiste voorbeeld ontbreekt een komma na het eerste bericht.
Veiligheidsopmerkingen
Dit script moet lichtgewicht blijven. Voeg niet toe:
- Externe HTTP-verzoeken.
- Databasequery's.
- Bestanden scannen.
- Lange lussen.
- Slaapoproepen blokkeren.
- Zware verwerking per gebruiker.
Het script mag alleen geconfigureerde mededelingen rouleren en deze met een redelijke tussenpoos verzenden.
Onderhoudsopmerkingen
Bewaar een back-up voordat u het script wijzigt:
cp /PATH/TO/HUB/scripts/auto-topic.lua /PATH/TO/HUB/scripts/auto-topic.lua.bak
Als je Git gebruikt:
cd /PATH/TO/HUB/scripts
git add auto-topic.lua
git commit -m "Update auto-topic.lua notices"
Wanneer u alleen de botnaam, mededelingen of interval wijzigt, zijn er geen logische wijzigingen vereist.
Voorgestelde notitieschrijfregels
Goede mededelingen zijn kort en nuttig.
Aanbevolen:
- Eén idee per aankondiging.
- Duidelijke formulering.
- Geen herhaalde interpunctie.
- Geen berichten in hoofdletters.
- Geen overdreven frequente berichten.
- Geen lange paragrafen in de hoofdchat.
Voorkomen:
- Elke paar seconden een bericht.
- Herhaaldelijk hetzelfde bericht plaatsen.
- Mededelingen uitsluitend als reclame gebruiken.
- Grote regelblokken naar de hoofdchat verzenden.
- Actieve gesprekken te vaak onderbreken.