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

Het script time.lua maakt een klein gebruikerslijstitem waarvan de naam verandert om de huidige tijd weer te geven. Gebruik het wanneer een Verlihub-hub een zichtbare tijdzonemarkering nodig heeft voor internationale gebruikers, regionale kamers of operators die tussen tijdzones coördineren.

Het script vereist geen afzonderlijk extern botproces. Het gebruikt de plug-in Verlihub Lua om een ​​botachtig item in de hub-gebruikerslijst te maken. Een klokinvoer kan er als volgt uitzien:

!_US_06:30:00PM

U kunt het voorvoegsel, het achtervoegsel, de tijdnotatie, het update-interval en de tijdzone-offset wijzigen voordat u het script laadt.

Wat dit script doet

Het script bouwt de weergavenaam op uit drie delen:

prefix + current time + postfix

Voorbeelduitvoer:

!_US_06:30:00PM

De zichtbare vermelding in de gebruikerslijst wordt bijgewerkt via een timer, zodat de weergegeven tijd actueel blijft.

Gebruik dit script voor:

  • Een hub-tijdzone weergeven.
  • Het tonen van een regionale klok.
  • Internationale gebruikers helpen tijd te coördineren.
  • Een eenvoudige visuele markering maken in de gebruikerslijst.
  • Een kleine hulpprogramma-bot toevoegen zonder externe software uit te voeren.

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/time.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/time.lua

Het script uitladen:

!luaunload /PATH/TO/HUB/scripts/time.lua

Als u het script bewerkt, verwijdert u het en laadt u het opnieuw:

!luaunload /PATH/TO/HUB/scripts/time.lua
!luaload /PATH/TO/HUB/scripts/time.lua

Gebruik het volledige absolute pad tenzij uw plug-inconfiguratie Verlihub Lua relatieve paden ondersteunt.

Scriptcode

name = ''
class = 3
description = 'Time Bot: US'
speed = '100'
email = ''
share = '0'
prefix = '!_US_'
postfix = ''
interval = 10
counter = 0
format = "%I:%M:%S%p"
offset = -5

function GetTime()
    return os.date(format, os.time() + offset * 60 * 60)
end

function GetName()
    time = GetTime()
    return prefix..time..postfix
end

Configuratie-opties

name

name = ''

De basisnaamwaarde voor het botachtige item. In dit script wordt de zichtbare naam gegenereerd door GetName(), Dus name kan meestal leeg blijven.

class

class = 3

Beheert het weergegeven klasse- of profielniveau van het botachtige item. De exacte betekenis van klassewaarden is afhankelijk van de hubconfiguratie. In veel hubopstellingen vertegenwoordigen hogere klassenummers verhoogde gebruikersrollen.

Gebruik een klassewaarde die past bij de manier waarop u wilt dat de klokinvoer in de gebruikerslijst verschijnt.

description

description = 'Time Bot: US'

De beschrijving die wordt weergegeven voor het botachtige item. Gebruik dit om uit te leggen wat de invoer vertegenwoordigt.

description = 'Time Bot: US'
description = 'Time Bot: UTC'
description = 'Hub Clock'
description = 'Server Time'

speed

speed = '100'

De verbindingssnelheidswaarde die wordt weergegeven voor het botachtige item. Dit is vooral cosmetisch. Het bepaalt niet hoe vaak het script wordt bijgewerkt.

email

email = ''

Het e-mailveld dat wordt weergegeven voor de botachtige invoer. Laat het leeg tenzij u een contactadres wilt weergeven.

share

share = '0'

De gedeelde grootte die wordt weergegeven voor het botachtige item. Voor een klokbot, 0 is geschikt omdat het geen echte gebruiker is die bestanden deelt.

prefix

prefix = '!_US_'

Tekst geplaatst vóór de gegenereerde tijd. Hierdoor is de klok gemakkelijk te identificeren in de gebruikerslijst.

prefix = '!_US_'
prefix = '!_UTC_'
prefix = '[TIME] '
prefix = 'Clock_'

Kies een voorvoegsel dat duidelijk wordt gesorteerd in uw hubgebruikerslijst.

postfix

postfix = ''

Tekst geplaatst na de gegenereerde tijd.

postfix = ''
postfix = '_EST'
postfix = '_UTC'
postfix = ' HubTime'

interval

interval = 10

Bepaalt hoe vaak het script moet worden bijgewerkt, meestal in seconden. Houd het interval redelijk. Elke seconde bijwerken is meestal niet nodig voor een vermelding in de hubgebruikerslijst.

  • 10: handig voor een zichtbare, op seconden gebaseerde klok.
  • 30: een goede balans voor veel hubs.
  • 60: het beste voor klokken met alleen minuten.

Als uw notatie geen seconden weergeeft, gebruik dan 60.

format = "%I:%M%p"
interval = 60

counter

counter = 0

Interne teller gebruikt door het script. Wijzig dit niet tenzij u de scriptlogica wijzigt.

format

format = "%I:%M:%S%p"

Bepaalt hoe de tijd wordt weergegeven. Dit gebruikt Lua os.date opmaak. Het standaardformaat geeft de 12-uurstijd weer met seconden en AM/PM.

Voorbeelduitvoer:

06:30:00PM

Veel voorkomende formaten:

format = "%I:%M:%S%p"      -- 06:30:00PM
format = "%I:%M%p"         -- 06:30PM
format = "%H:%M:%S"        -- 18:30:00
format = "%H:%M"           -- 18:30
format = "%Y-%m-%d %H:%M"  -- 2026-07-02 18:30

Voor vermeldingen in de gebruikerslijst zijn kortere formaten doorgaans gemakkelijker te lezen.

offset

offset = -5

Tijdzoneverschil met de servertijd, in uren. Het script berekent de tijd met behulp van:

os.time() + offset * 60 * 60

Voorbeelden:

offset = 0    -- same as server time
offset = -5   -- five hours behind server time
offset = 1    -- one hour ahead of server time
offset = 5.5  -- five and a half hours ahead, if fractional offsets work in your Lua environment

Dit is een vaste compensatie. Het verwerkt de regels voor zomertijd niet automatisch, tenzij de servertijd en offset zijn aangepast. Voor wijzigingen in de zomertijd kunt u de verschuiving indien nodig bijwerken.

Voorbeeldconfiguraties

Amerikaanse Eastern Time-stijl

description = 'Time Bot: US Eastern'
prefix = '!_US_'
postfix = ''
interval = 60
format = "%I:%M%p"
offset = -5

Voorbeeldweergave:

!_US_06:30PM

UTC-klok

description = 'Time Bot: UTC'
prefix = '!_UTC_'
postfix = ''
interval = 60
format = "%H:%M"
offset = 0

Voorbeeldweergave:

!_UTC_23:30

24-uurs hubklok

description = 'Hub Clock'
prefix = '!_TIME_'
postfix = ''
interval = 60
format = "%H:%M"
offset = 0

Voorbeeldweergave:

!_TIME_18:30

Gebruik voor de meeste hubs een klok met alleen minuten:

prefix = '!_US_'
postfix = ''
interval = 60
format = "%I:%M%p"
offset = -5

Dit vermindert onnodige updates terwijl de klok leesbaar blijft.

Gebruik alleen seconden als u een live klokeffect wilt:

interval = 10
format = "%I:%M:%S%p"

Een update-interval van één seconde is meestal niet nodig voor een vermelding in de hubgebruikerslijst:

interval = 1

Het script testen

Controleer na het laden van het script de hubgebruikerslijst voor de gegenereerde tijdinvoer.

Bevestig dat:

  • De vermelding verschijnt slechts één keer.
  • De weergegeven tijd is correct.
  • Het voor- en achtervoegsel zien er goed uit.
  • Het update-interval is niet te agressief.
  • De invoer verdwijnt na het verwijderen van het script.
  • Als u het script opnieuw laadt, ontstaan ​​er geen duplicaten.

Als de tijd verkeerd is, controleer dan de tijdzone van de server en de geconfigureerde offset.

Controleer op de server de huidige systeemtijd:

date
timedatectl

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/time.lua

Gebruik het absolute pad als relatieve paden niet werken.

De tijd is onjuist

Rekening:

  • Servertijdzone.
  • offset waarde.
  • Zomertijd.
  • Of de serverklok is gesynchroniseerd.

Servercontroles:

date
timedatectl

Als de servertijd correct is, maar de weergegeven klok verkeerd, past u deze aan offset.

Het script maakt dubbele vermeldingen

Ontlaad het script en bevestig dat het oude item verdwijnt:

!luaunload /PATH/TO/HUB/scripts/time.lua

Laad het vervolgens opnieuw:

!luaload /PATH/TO/HUB/scripts/time.lua

Als er duplicaten achterblijven, start u de plug-in Lua of de service Verlihub opnieuw tijdens een onderhoudsperiode.

De klok wordt te vaak bijgewerkt

Verhoog het interval.

interval = 60
format = "%I:%M%p"

Als er seconden worden weergegeven, gebruik dan:

interval = 10
format = "%I:%M:%S%p"

Gebruikers zijn in de war door de invoer

Maak het voorvoegsel of de beschrijving duidelijker.

prefix = '!_HUB_TIME_'
description = 'Hub Time Clock'

Veiligheidsopmerkingen

Dit script is klein, maar draait nog steeds in de Verlihub Lua-omgeving. Houd het script gericht op het berekenen van de huidige tijd en het bijwerken van de weergavenaam.

Voeg niet toe:

  • Externe HTTP-verzoeken.
  • Databasequery's.
  • Bestanden scannen.
  • Lange lussen.
  • Slaapoproepen blokkeren.

Onderhoudsopmerkingen

Bewaar een back-up voordat u het script wijzigt:

cp /PATH/TO/HUB/scripts/time.lua /PATH/TO/HUB/scripts/time.lua.bak

Als je Git gebruikt:

cd /PATH/TO/HUB/scripts
git add time.lua
git commit -m "Update time.lua clock settings"

Als u alleen het voorvoegsel, het achtervoegsel, het formaat, het interval of de offset wijzigt, zijn er geen wijzigingen in de codelogica vereist.

Bovenliggende Pagina