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.
Locația recomandată a fișierului
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:
| Valoare | Sens |
|---|---|
300 | La fiecare 5 minute. |
600 | La fiecare 10 minute. |
900 | La fiecare 15 minute. |
1800 | La fiecare 30 de minute. |
3600 | La 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."
}
Setări de producție recomandate
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
noticestabelul 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.