Creat: 2026/07/02 19:41:27 America/Chicago
De: admin

The auto-topic.lua scriptul postează notificări de concentrare configurate la Verlihub chat principal la un interval stabilit. Folosiți-l pentru mementouri de reguli, note de întreținere, linkuri de asistență, sugestii de comandă și mesaje scurte ale comunității care nu au nevoie de un bot extern separat.

Păstrați acest script mic. Ar trebui să trimită mesaje scurte configurate și apoi să returneze controlul la Verlihub. Nu adăugați la acest script joburi de lungă durată, interogări de baze de date, solicitări HTTP externe, scanări de fișiere sau așteptări de blocare.

Ce face acest script

Scriptul trimite mesaje de chat principale automate de la un nume de bot sau o identitate de hub configurată.

Utilizările comune includ:

  • Postarea mementourilor privind regulile hub.
  • Postarea site-ului web sau a link-urilor de asistență.
  • Se anunță întreținerea programată.
  • Reamintirea utilizatorilor despre comenzile disponibile.
  • Partajarea link-urilor comunității.
  • Afișarea notificărilor rotative.
  • Postarea de mesaje la ora din zi.

Exemplu de notificare principală de chat:

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

Cerințe

Acest script necesită:

  • Verlihub instalat și în funcțiune.
  • Pluginul Verlihub Lua este instalat.
  • Pluginul Lua este activat în Verlihub.
  • Permisiune de încărcare și descărcare Lua scripturi.
  • Un director de script care poate fi scris pentru Verlihub Lua.

Înainte de a încărca scriptul, confirmați că pluginul Lua este activ:

!pluglist

Dacă pluginul Lua nu este listat, încărcați-l sau activați-l mai întâi din articolul de configurare Lua.

Utilizați un director de script dedicat:

mkdir -p /PATH/TO/HUB/scripts

Plasați scriptul la:

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

Pentru sistemele de producție, directorul ar trebui să poată fi scris numai de către administratorii de încredere sau de către utilizatorul serviciului Verlihub. Nu faceți directorul care poate fi scris în întreaga lume.

Comenzi de încărcare și descărcare

Încărcați scriptul:

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

Descărcați scriptul:

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

Dacă editați scriptul, descărcați-l și încărcați-l din nou:

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

Utilizați calea absolută completă, cu excepția cazului în care configurația pluginului dvs. Verlihub Lua acceptă căi relative.

Cod 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

Opțiuni de configurare

botname

botname = "HubNotice"

Numele afișat înainte de notificarea automată. Alegeți un nume clar, astfel încât utilizatorii să înțeleagă că mesajul este informații automate ale centrului.

Exemple:

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

interval

interval = 900

Controlează cât de des scriptul trimite o notificare. Valoarea dorită este de obicei secunde, în funcție de modul în care este configurat temporizatorul Verlihub Lua în mediul dvs.

Valori recomandate:

ValoareSens
300La fiecare 5 minute.
600La fiecare 10 minute.
900La fiecare 15 minute.
1800La fiecare 30 de minute.
3600La fiecare 60 de minute.

Pentru centrele de producție, 900 sau 1800 este de obicei mai sigur decât un interval scurt. Evitați valorile care fac hub-ul zgomotos:

interval = 10

O notificare la fiecare 10 secunde este prea agresivă pentru chatul principal normal.

counter

counter = 0

Contor intern utilizat de script. Nu modificați acest lucru decât dacă modificați logica scriptului.

notice_index

notice_index = 1

Piese pentru care notificarea ar trebui trimisă în continuare. Lasă asta la 1 cu excepția cazului în care doriți ca scriptul să înceapă de la un mesaj diferit.

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

Lista de mesaje care se rotesc în chatul principal. Fiecare notificare trebuie să fie scurtă, utilă și să nu deranjeze.

Exemple de notificări bune:

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

Evitați notificările lungi, repetate sau agresive. Este mai probabil ca utilizatorii să ignore mesajele automate atunci când apar prea des.

Exemple de configurații

Memento privind regulile de bază

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

Notă de site și asistență

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

Notă de întreținere

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

Notificare comunitară

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

Pentru majoritatea hub-urilor, utilizați un interval de 15 sau 30 de minute:

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

Acest lucru menține notificările vizibile fără a inunda chatul. Pentru hub-urile aglomerate, utilizați:

interval = 3600

Pentru hub-uri silențioase, utilizați:

interval = 1800

Automatizarea chatului principal ar trebui să sprijine comunitatea, nu să o întrerupă.

Testarea scenariului

După încărcarea scriptului, confirmați că:

  • Scriptul se încarcă fără erori.
  • Anunțul apare în chatul principal.
  • Notificările se rotesc în ordinea așteptată.
  • Intervalul nu este prea agresiv.
  • Numele botului este clar.
  • Scriptul se descarcă curat.
  • Reîncărcarea scriptului nu creează cronometre sau notificări duplicate.

Testați mai întâi cu un interval scurt, apoi schimbați-l la intervalul de producție.

Exemplu de setare de testare:

interval = 30

După testare, schimbați-l înapoi:

interval = 1800

Apoi reîncărcați scriptul.

Depanare

Scriptul nu se încarcă

Verificați dacă pluginul Lua este activ:

!pluglist

Verificați dacă calea fișierului este corectă:

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

Utilizați calea absolută dacă căile relative nu funcționează.

Notificările nu apar

Verifica:

  • Pluginul Lua este încărcat.
  • Calea scriptului este corectă.
  • Versiunea dvs. de plugin Verlihub Lua acceptă funcția de cronometru.
  • Intervalul nu este prea mare în timpul testării.
  • The notices tabelul conține cel puțin un mesaj.

Utilizați temporar:

interval = 30

Apoi reîncărcați scriptul și așteptați următoarea notificare.

Notificările apar prea des

Măriți intervalul.

interval = 1800

sau:

interval = 3600

Evitați intervalele scurte în producție.

Apar notificări duplicate

Aceasta înseamnă de obicei că scriptul a fost încărcat de mai multe ori sau o instanță veche nu s-a descărcat corect.

Descărcați scriptul:

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

Apoi încărcați-l din nou:

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

Dacă duplicatele continuă, reporniți pluginul Lua sau serviciul Verlihub în timpul unei ferestre de întreținere.

Erori de script după editarea notificărilor

Verificați sintaxa Lua. Fiecare linie de notificare ar trebui să se încheie cu o virgulă, cu excepția ultimului rând, care o poate omite.

Corecta:

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

Incorect:

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

În exemplul incorect lipsește o virgulă după primul mesaj.

Note de siguranță

Acest script ar trebui să rămână ușor. Nu adăugați:

  • Solicitări HTTP externe.
  • Interogări baze de date.
  • Scanarea fișierelor.
  • Bucle lungi.
  • Blocarea apelurilor de somn.
  • Procesare grea per utilizator.

Scriptul ar trebui să rotească numai notificările configurate și să le trimită la un interval rezonabil.

Note de întreținere

Păstrați o copie de rezervă înainte de a schimba scriptul:

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

Dacă folosești Git:

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

Când schimbați numai numele botului, notificările sau intervalul, nu sunt necesare modificări logice.

Reguli de scriere a notificărilor sugerate

Notificările bune sunt scurte și utile.

Recomandat:

  • O idee pe notificare.
  • Formulare clară.
  • Fără semne de punctuație repetate.
  • Fără mesaje cu majuscule.
  • Fără postări prea frecvente.
  • Nu există paragrafe lungi în chatul principal.

Evita:

  • Postare la fiecare câteva secunde.
  • Postarea în mod repetat a aceluiași mesaj.
  • Utilizarea notificărilor doar ca reclame.
  • Trimiterea unor blocuri mari de reguli la chatul principal.
  • Întreruperea conversațiilor active prea des.

Pagină Părinte