Această bibliotecă adună scripturi Lua scrise pentru hub-uri Verlihub. Fiecare script adaugă o funcție de hub mic fără a modifica sursa Verlihub C++ sau a compila un plugin personalizat.
Utilizați aceste articole pentru roboți de afișare, comenzi de ajutor, mesaje cronometrate, intrări în lista de utilizatori, ajutoare de validare și automatizări mici. Păstrați munca grea în afara procesului de hub și utilizați Lua numai pentru comportamentul hub-ului care trebuie să ruleze în interiorul Verlihub.
Scopul acestei biblioteci
Biblioteca există astfel încât proprietarul unui hub să poată examina un script, să înțeleagă ce se schimbă, să îl copieze în directorul așteptat, să ajusteze setările documentate, să îl încarce, să îl testeze și să îl dezactiveze din nou fără ghiciuri.
Fiecare articol din scenariu ar trebui să precizeze:
- Ce face scenariul.
- Ce caracteristică Verlihub o modifică sau o adaugă.
- Indiferent dacă creează un bot, o comandă, un cronometru, un cârlig, o intrare în lista de utilizatori sau un ajutor de validare.
- Unde ar trebui să fie plasat fișierul script.
- Cum este încărcat, reîncărcat, descărcat sau dezactivat scriptul.
- Ce setări pot fi editate în siguranță.
- De ce plugin Verlihub sau hub depinde scriptul.
- Limite cunoscute, note de versiune și avertismente de producție.
Standarde de script recomandate
Scripturile din această bibliotecă ar trebui să rămână mici, lizibile și controlate de versiune. Un fișier Lua ar trebui să facă o singură lucrare. Nu amestecați un bot de ceas, o comandă de reguli, verificarea anti-spam și curățarea bazei de date într-un singur fișier decât dacă articolul explică de ce aceste acțiuni trebuie să fie livrate împreună.
- Utilizați un scop principal pentru fiecare script.
- Puneți comentarii clare în partea de sus a fișierului.
- Grupați valori configurabile în partea de sus.
- Nu codificați căile private decât dacă articolul le explică.
- Evitați scrierile inutile în baze de date.
- Evitați blocarea apelurilor de rețea de la evenimentele hub.
- Evitați buclele grele din interiorul cârligelor de conectare, chat sau liste de utilizatori.
- Faceți clar comportamentul de pornire și oprire.
- Comenzile de încărcare, reîncărcare și descărcare a documentelor.
Pentru hub-urile de producție, scripturile mai mici sunt de obicei mai ușor de depanat, dezactivat și înlocuit decât un fișier mare care controlează comportamentul hub-ului care nu are legătură.
Antet de script sugerat
Începeți fiecare script cu un scurt bloc de comentarii. Antetul ar trebui să spună următorului operator care este fișierul înainte ca scriptul să atingă un hub activ.
-- Script: time.lua
-- Purpose: Displays a clock-like bot entry in the Verlihub user list.
-- Scope: User-list display only.
-- Author: PWiAM
-- Notes: Test on a private hub before production use.
Formatul de articol de script sugerat
Fiecare articol copil din această secțiune ar trebui să folosească aceeași formă, astfel încât scripturile să poată fi comparate și revizuite rapid.
- Prezentare generală.
- Cerințe.
- Instalare.
- Configurare.
- Se încarcă scriptul.
- Testare.
- Descărcare sau dezactivare.
- Depanare.
- Scenariul complet.
- Pagini înrudite.
Instalarea scripturilor
Locația exactă depinde de calea de instalare Verlihub, dar fișierele personalizate Lua ar trebui să locuiască într-un director deținut de utilizatorul serviciului care rulează hub-ul.
sudo mkdir -p /usr/local/etc/verlihub/lua
sudo chown -R verlihub:verlihub /usr/local/etc/verlihub/lua
sudo chmod 750 /usr/local/etc/verlihub/lua
Apoi plasați fiecare script în acel director:
/usr/local/etc/verlihub/lua/time.lua
Dacă serviciul dvs. rulează sub alt utilizator, schimbați proprietarul în acel cont. Nu utilizați chmod 777 /usr/local/etc/verlihub/lua. Lua fișierele rulează în cadrul procesului hub, deci accesul la scriere aparține numai administratorilor de încredere.
Încărcarea și reîncărcarea scripturilor
Scripturile Lua necesită ca pluginul Verlihub Lua să fie instalat și activat mai întâi. Dacă pluginul nu este încărcat, consultați articolul părinte de configurare Lua înainte de a încărca fișierele script.
Verificările utile pentru plugin includ:
!pluglist!lstplug
Utilizați un flux de lucru cu modificări mici atunci când editați un script live:
- Salvați o copie de rezervă a fișierului de lucru curent.
- Schimbați o setare sau o funcție.
- Reîncărcați doar acel script dacă versiunea dvs. îl acceptă.
- Verificați ieșirea hubului și jurnalele Verlihub.
- Reveniți rapid dacă utilizatorii văd erori, roboți duplicați sau ieșiri repetate de chat.
Dacă comenzile de reîncărcare a scriptului nu sunt disponibile în versiunea Verlihub, reporniți sau reîncărcați pluginul 88004422440088 conform comenzilor de gestionare a pluginurilor serverului dvs.
Testarea scripturilor în siguranță
Testați scripturile Lua pe un hub privat sau pe o fereastră de întreținere silențioasă înainte de a vă baza pe ele în producție.
- Confirmați încărcarea scriptului fără erori de sintaxă.
- Confirmați că nu inundă chatul principal.
- Confirmați că nu creează roboți duplicați sau intrări repetate în lista de utilizatori.
- Confirmați că se comportă corect după reîncărcare.
- Confirmați că se comportă corect după repornirea hub-ului.
- Confirmați că operatorii îl pot dezactiva rapid.
- Pentru scripturile de comandă, testați cu utilizatori obișnuiți și conturi de operator.
- Pentru mesajele cronometrate sau intrările din lista de utilizatori, testați intervalul astfel încât scriptul să nu creeze zgomot sau să nu se încarce.
Note de siguranță a producției
Codul Lua rulează în cadrul procesului hub. Un script prost poate afecta chatul, autentificarea, actualizările listei de utilizatori sau închiderea pluginurilor.
Evita:
- Bucle infinite.
- Dormi lungi în cadrul gestionarilor de evenimente.
- Citirile de fișiere mari în timpul evenimentelor utilizatorului.
- Blocarea solicitărilor HTTP externe.
- Interogări grele de baze de date din chat sau cârlige de conectare.
- Mesaje transmise repetate fără limite.
- Scripturi care nu pot fi descărcate curat.
Prefera:
- Mici manipulatori de evenimente.
- Ștergeți valorile de configurare.
- Cronometre conservatoare.
- Logica de comandă simplă.
- Înregistrare numai atunci când oferă unui operator informații utile.
- Rollback ușor.
Dacă o sarcină este de lungă durată, mutați-o în afara Verlihub și lăsați Lua să declanșeze sau să afișeze rezultatul.
Controlul versiunilor
Păstrați scripturi personalizate în Git atunci când este posibil. Un depozit mic în directorul de script este suficient pentru multe hub-uri.
cd /usr/local/etc/verlihub/lua
git init
git add .
git commit -m "Initial Verlihub Lua scripts"
Înainte de a edita un script de producție, verificați ce a fost deja schimbat:
git status
git diff
După testarea modificării:
git add time.lua
git commit -m "Update time.lua clock display"
Acest lucru oferă următorului operator un istoric al modificărilor și o cale de derulare rapidă.
Scripturi disponibile
time.lua Verlihub script de ceas pentru lista de utilizatori creează o mică intrare în lista de utilizatori, asemănătoare unui bot, care afișează ora curentă.
Utilizați-l atunci când un hub dorește o intrare vizibilă a ceasului fără a rula un proces bot separat sau un serviciu extern. Este primul exemplu menținut din această bibliotecă și poate fi folosit ca model pentru alte scripturi orientate spre afișare.
Adăugarea mai multor scripturi
Scripturile noi ar trebui adăugate ca articole secundare în această secțiune, nu lipite în această pagină de index. Candidații buni includ:
- Scriptul mesajului de bun venit.
- Script de memento al regulilor.
- Script de comandă de ajutor pentru operator.
- Scriptul de anunț programat.
- Script de afișare a numărului de utilizatori.
- Script de ajutor anti-spam.
- Script de comandă pentru informații hub.
- Scriptul de notificare pentru modul de întreținere.
Fiecare articol nou ar trebui să includă note de instalare, valori de configurare, pași de testare, pași de descărcare și lista completă a scriptului.