Aangemaakt: 2026/07/02 19:41:27 America/Chicago
Door: admin
Gewijzigd: 2026/07/03 16:24:56 America/Chicago
Door: admin

Deze bibliotheek verzamelt Lua-scripts die zijn geschreven voor Verlihub-hubs. Elk script voegt een kleine hub-functie toe zonder de Verlihub C++-bron te wijzigen of een aangepaste plug-in te compileren.

Gebruik deze artikelen voor weergavebots, helperopdrachten, getimede berichten, vermeldingen in de gebruikerslijst, validatiehelpers en kleine automatisering. Houd zwaar werk buiten het hubproces en gebruik Lua alleen voor het hubgedrag dat binnen Verlihub moet worden uitgevoerd.

Doel van deze bibliotheek

De bibliotheek bestaat zodat een hub-eigenaar een script kan beoordelen, begrijpen wat het verandert, het naar de verwachte map kan kopiëren, de gedocumenteerde instellingen kan aanpassen, het kan laden, testen en het zonder giswerk weer kan uitschakelen.

In elk scriptartikel moet het volgende worden vermeld:

  • Wat het script doet.
  • Welke Verlihub-functie wordt gewijzigd of toegevoegd.
  • Of het nu een bot, commando, timer, hook, gebruikerslijstinvoer of validatiehelper creëert.
  • Waar het scriptbestand moet worden geplaatst.
  • Hoe het script wordt geladen, opnieuw geladen, verwijderd of uitgeschakeld.
  • Welke instellingen veilig kunnen worden bewerkt.
  • Van welke Verlihub plug-in of hub-machtiging het script afhankelijk is.
  • Bekende limieten, versieopmerkingen en productiewaarschuwingen.

Scripts in deze bibliotheek moeten klein, leesbaar en versiebeheerd blijven. Eén Lua-bestand zou één taak moeten uitvoeren. Combineer geen klokbot, regelopdracht, antispamcontrole en het opschonen van de database in één bestand, tenzij het artikel uitlegt waarom deze acties samen moeten worden uitgevoerd.

  • Gebruik één hoofddoel per script.
  • Plaats duidelijke opmerkingen bovenaan het bestand.
  • Groepeer configureerbare waarden bovenaan.
  • Hardcodeer privépaden niet tenzij het artikel ze uitlegt.
  • Vermijd onnodige databaseschrijfbewerkingen.
  • Vermijd het blokkeren van netwerkoproepen van hubgebeurtenissen.
  • Vermijd zware lussen in login-, chat- of gebruikerslijsthooks.
  • Maak het opstart- en afsluitgedrag duidelijk.
  • Opdrachten voor het laden, opnieuw laden en verwijderen van documenten.

Voor productiehubs zijn kleinere scripts doorgaans eenvoudiger te debuggen, uit te schakelen en te vervangen dan één groot bestand dat niet-gerelateerd hubgedrag regelt.

Voorgestelde scriptkop

Begin elk script met een kort commentaarblok. De header moet de volgende operator vertellen wat het bestand is voordat het script een live hub raakt.

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

Voorgesteld scriptartikelformaat

Elk onderliggend artikel in deze sectie moet dezelfde vorm gebruiken, zodat scripts snel kunnen worden vergeleken en beoordeeld.

  1. Overzicht.
  2. Vereisten.
  3. Installatie.
  4. Configuratie.
  5. Het script laden.
  6. Testen.
  7. Lossen of uitschakelen.
  8. Problemen oplossen.
  9. Volledig script.
  10. Gerelateerde pagina's.

Scripts installeren

De exacte locatie is afhankelijk van het installatiepad Verlihub, maar aangepaste Lua-bestanden moeten in een map staan ​​die eigendom is van de servicegebruiker die de hub uitvoert.

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

Plaats vervolgens elk script in die map:

/usr/local/etc/verlihub/lua/time.lua

Als uw service onder een andere gebruiker draait, wijzigt u de eigenaar naar dat account. Niet gebruiken chmod 777 /usr/local/etc/verlihub/lua. Lua-bestanden worden binnen het hubproces uitgevoerd, dus schrijftoegang behoort alleen toe aan vertrouwde beheerders.

Scripts laden en opnieuw laden

Lua-scripts vereisen dat de plug-in Verlihub Lua eerst wordt geïnstalleerd en ingeschakeld. Als de plug-in niet is geladen, raadpleegt u het bovenliggende installatieartikel Lua voordat u scriptbestanden laadt.

Handige plug-incontroles zijn onder meer:

  • !pluglist
  • !lstplug

Gebruik een workflow met kleine wijzigingen bij het bewerken van een live script:

  1. Sla een back-up op van het huidige werkbestand.
  2. Wijzig één instelling of één functie.
  3. Laad alleen dat script opnieuw als uw build dit ondersteunt.
  4. Controleer de hubuitvoer en Verlihub-logboeken.
  5. Herstel snel als gebruikers fouten, dubbele bots of herhaalde chatuitvoer zien.

Als er geen opdrachten voor het opnieuw laden van scripts beschikbaar zijn in uw Verlihub-build, start u de plug-in Lua opnieuw op of laadt u deze opnieuw volgens de opdrachten voor plug-inbeheer van uw server.

Scripts veilig testen

Test Lua-scripts op een privéhub of een rustig onderhoudsvenster voordat u erop vertrouwt in de productie.

  • Bevestig dat het script wordt geladen zonder syntaxisfouten.
  • Bevestig dat de hoofdchat niet wordt overspoeld.
  • Bevestig dat er geen dubbele bots of herhaalde vermeldingen in de gebruikerslijst ontstaan.
  • Controleer of het zich correct gedraagt ​​na het opnieuw laden.
  • Controleer of het zich correct gedraagt ​​na een herstart van de hub.
  • Controleer of operators dit snel kunnen uitschakelen.
  • Voor opdrachtscripts kunt u testen met normale gebruikers- en operatoraccounts.
  • Voor getimede berichten of vermeldingen in de gebruikerslijst test u het interval zodat het script geen ruis of belasting veroorzaakt.

Veiligheidsopmerkingen bij de productie

Lua-code wordt uitgevoerd binnen het hubproces. Een slecht script kan van invloed zijn op chatten, inloggen, updates van gebruikerslijsten of het afsluiten van plug-ins.

Voorkomen:

  • Oneindige lussen.
  • Lange slaapjes in event handlers.
  • Grote bestanden worden gelezen tijdens gebruikersgebeurtenissen.
  • Externe HTTP-verzoeken blokkeren.
  • Zware databasequery's via chat of login-hooks.
  • Herhaalde uitzendingsberichten zonder grenzen.
  • Scripts die niet netjes kunnen worden verwijderd.

De voorkeur geven aan:

  • Behandelaars van kleine evenementen.
  • Configuratiewaarden wissen.
  • Conservatieve timers.
  • Eenvoudige commandologica.
  • Alleen loggen als het de operator nuttige informatie oplevert.
  • Gemakkelijk terugdraaien.

Als een taak lang duurt, verplaats deze dan buiten Verlihub en laat Lua het resultaat activeren of weergeven.

Versiebeheer

Bewaar aangepaste scripts in Git indien mogelijk. Voor veel hubs is een kleine repository in de scriptdirectory voldoende.

cd /usr/local/etc/verlihub/lua
git init
git add .
git commit -m "Initial Verlihub Lua scripts"

Voordat u een productiescript bewerkt, controleert u wat er al is gewijzigd:

git status
git diff

Na het testen van de wijziging:

git add time.lua
git commit -m "Update time.lua clock display"

Dit geeft de volgende operator een wijzigingsgeschiedenis en een snel terugdraaipad.

Beschikbare scripts

time.lua Verlihub klokscript gebruikerslijst creëert een klein botachtig gebruikerslijstitem dat de huidige tijd weergeeft.

Gebruik het wanneer een hub een zichtbare klokinvoer wil zonder een afzonderlijk botproces of externe service uit te voeren. Het is het eerste onderhouden voorbeeld in deze bibliotheek en kan worden gebruikt als patroon voor andere display-georiënteerde scripts.

Meer scripts toevoegen

Nieuwe scripts moeten als onderliggende artikelen onder deze sectie worden toegevoegd en niet in deze indexpagina worden geplakt. Goede kandidaten zijn onder meer:

  • Welkomstberichtscript.
  • Herinneringsscript voor regels.
  • Operator helper-opdrachtscript.
  • Gepland aankondigingsscript.
  • Weergavescript voor aantal gebruikers.
  • Anti-spam helperscript.
  • Hub-informatieopdrachtscript.
  • Meldingsscript voor de onderhoudsmodus.

Elk nieuw artikel moet installatieopmerkingen, configuratiewaarden, teststappen, stappen voor het uitladen en de volledige scriptlijst bevatten.

Related Pages

Bovenliggende Pagina