Aangemaakt: 2026/07/02 19:41:27 America/Chicago
Door: admin

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.

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:

WaardeBetekenis
300Elke 5 minuten.
600Elke 10 minuten.
900Elke 15 minuten.
1800Elke 30 minuten.
3600Elke 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."
}

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 notices tabel 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.

Bovenliggende Pagina