IL time.lua Lo script crea una piccola voce nell'elenco utenti il cui nome cambia per mostrare l'ora corrente. Utilizzalo quando un hub Verlihub necessita di un indicatore di fuso orario visibile per utenti internazionali, sale regionali o operatori che si coordinano tra fusi orari.
Lo script non richiede un processo bot esterno separato. Utilizza il plugin Verlihub Lua per creare una voce simile a un bot all'interno dell'elenco degli utenti dell'hub. Una voce dell'orologio può assomigliare a questa:
!_US_06:30:00PM
È possibile modificare il prefisso, il suffisso, il formato dell'ora, l'intervallo di aggiornamento e l'offset del fuso orario prima di caricare lo script.
Cosa fa questo script
Lo script crea il nome visualizzato da tre parti:
prefix + current time + postfix
Esempio di output:
!_US_06:30:00PM
La voce visibile dell'elenco utenti si aggiorna con un timer in modo che l'ora visualizzata rimanga quella attuale.
Utilizza questo script per:
- Visualizzazione del fuso orario dell'hub.
- Mostra un orologio regionale.
- Aiutare gli utenti internazionali a coordinare il tempo.
- Creazione di un semplice indicatore visivo nell'elenco degli utenti.
- Aggiunta di un piccolo bot di utilità senza eseguire software esterno.
Requisiti
Questo script richiede:
- Verlihub installato e funzionante.
- Il plugin Verlihub Lua è installato.
- Il plugin Lua abilitato in Verlihub.
- Autorizzazione a caricare e scaricare gli script Lua.
- Una directory di script scrivibile per i file Verlihub Lua.
Prima di caricare lo script, conferma che il plugin Lua è attivo:
!pluglist
Se il plugin Lua non è elencato, caricalo o abilitalo prima dall'articolo di configurazione principale Lua.
Posizione file consigliata
Utilizza una directory di script dedicata:
mkdir -p /PATH/TO/HUB/scripts
Posiziona lo script in:
/PATH/TO/HUB/scripts/time.lua
Per i sistemi di produzione, la directory deve essere scrivibile solo da amministratori fidati o dall'utente del servizio Verlihub. Non rendere la directory scrivibile da tutti.
Comandi di caricamento e scaricamento
Carica lo script:
!luaload /PATH/TO/HUB/scripts/time.lua
Scarica lo script:
!luaunload /PATH/TO/HUB/scripts/time.lua
Se modifichi lo script, scaricalo e caricalo di nuovo:
!luaunload /PATH/TO/HUB/scripts/time.lua
!luaload /PATH/TO/HUB/scripts/time.lua
Utilizza il percorso assoluto completo a meno che la configurazione del plug-in Verlihub Lua non supporti i percorsi relativi.
Codice di scrittura
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
Opzioni di configurazione
name
name = ''
Il valore del nome base per la voce simile a un bot. In questo script, il nome visibile viene generato da GetName(), COSÌ name di solito può rimanere vuoto.
class
class = 3
Controlla la classe visualizzata o il livello del profilo della voce simile a un bot. Il significato esatto dei valori della classe dipende dalla configurazione dell'hub. In molte configurazioni hub, i numeri di classe più alti rappresentano ruoli utente elevati.
Utilizza un valore di classe adatto al modo in cui desideri che la voce dell'orologio venga visualizzata nell'elenco degli utenti.
description
description = 'Time Bot: US'
La descrizione mostrata per la voce simile a un bot. Usalo per spiegare cosa rappresenta la voce.
description = 'Time Bot: US'
description = 'Time Bot: UTC'
description = 'Hub Clock'
description = 'Server Time'
speed
speed = '100'
Il valore della velocità di connessione visualizzato per la voce simile a un bot. Questo è principalmente cosmetico. Non controlla la frequenza con cui lo script viene aggiornato.
email = ''
Il campo email mostrato per la voce simile a un bot. Lascialo vuoto a meno che non desideri visualizzare un indirizzo di contatto.
share
share = '0'
La dimensione della condivisione visualizzata per la voce simile a un bot. Per un robot orologio, 0 è appropriato perché non è un vero utente di condivisione file.
prefix
prefix = '!_US_'
Testo posizionato prima dell'ora generata. Ciò semplifica l'identificazione dell'orologio nell'elenco degli utenti.
prefix = '!_US_'
prefix = '!_UTC_'
prefix = '[TIME] '
prefix = 'Clock_'
Scegli un prefisso che venga ordinato chiaramente nell'elenco degli utenti dell'hub.
postfix
postfix = ''
Testo inserito dopo l'ora generata.
postfix = ''
postfix = '_EST'
postfix = '_UTC'
postfix = ' HubTime'
interval
interval = 10
Controlla la frequenza con cui lo script deve essere aggiornato, in genere in secondi. Mantenere l'intervallo ragionevole. L'aggiornamento ogni secondo in genere non è necessario per una voce dell'elenco utenti dell'hub.
10: utile per un orologio visibile basato sui secondi.30: un buon equilibrio per molti hub.60: ideale per orologi solo minuti.
Se il tuo formato non mostra i secondi, usa 60.
format = "%I:%M%p"
interval = 60
counter
counter = 0
Contatore interno utilizzato dallo script. Non modificarlo a meno che non si stia modificando la logica dello script.
format
format = "%I:%M:%S%p"
Controlla la modalità di visualizzazione dell'ora. Questo utilizza Lua os.date formattazione. Il formato predefinito visualizza l'ora a 12 ore con secondi e AM/PM.
Esempio di output:
06:30:00PM
Formati comuni:
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
Per le voci dell'elenco utenti, i formati più brevi sono generalmente più facili da leggere.
offset
offset = -5
Differenza di fuso orario dall'ora del server, in ore. Lo script calcola il tempo utilizzando:
os.time() + offset * 60 * 60
Esempi:
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
Questo è un offset fisso. Non gestisce automaticamente le regole dell'ora legale a meno che l'ora e l'offset del server non vengano modificati. Per le modifiche all'ora legale, aggiornare l'offset quando necessario.
Configurazioni di esempio
Stile dell'ora orientale degli Stati Uniti
description = 'Time Bot: US Eastern'
prefix = '!_US_'
postfix = ''
interval = 60
format = "%I:%M%p"
offset = -5
Visualizzazione di esempio:
!_US_06:30PM
Orologio UTC
description = 'Time Bot: UTC'
prefix = '!_UTC_'
postfix = ''
interval = 60
format = "%H:%M"
offset = 0
Visualizzazione di esempio:
!_UTC_23:30
Orologio da hub 24 ore
description = 'Hub Clock'
prefix = '!_TIME_'
postfix = ''
interval = 60
format = "%H:%M"
offset = 0
Visualizzazione di esempio:
!_TIME_18:30
Impostazioni di produzione consigliate
Per la maggior parte degli hub, utilizza un orologio di soli minuti:
prefix = '!_US_'
postfix = ''
interval = 60
format = "%I:%M%p"
offset = -5
Ciò riduce gli aggiornamenti non necessari mantenendo l'orologio leggibile.
Utilizza i secondi solo quando desideri un effetto orologio dal vivo:
interval = 10
format = "%I:%M:%S%p"
Un intervallo di aggiornamento di un secondo in genere non è necessario per una voce dell'elenco utenti dell'hub:
interval = 1
Testare la sceneggiatura
Dopo aver caricato lo script, controllare l'elenco degli utenti dell'hub per la voce dell'ora generata.
Conferma che:
- La voce appare solo una volta.
- L'ora visualizzata è corretta.
- Il prefisso e il postfisso sembrano corretti.
- L'intervallo di aggiornamento non è troppo aggressivo.
- La voce scompare dopo aver scaricato lo script.
- Ricaricare lo script non crea duplicati.
Se l'ora è sbagliata, controlla il fuso orario del server e l'offset configurato.
Sul server, controlla l'ora corrente del sistema:
date
timedatectl
Risoluzione dei problemi
Lo script non viene caricato
Verifica che il plugin Lua sia attivo:
!pluglist
Controlla che il percorso del file sia corretto:
!luaload /PATH/TO/HUB/scripts/time.lua
Utilizzare il percorso assoluto se i percorsi relativi non funzionano.
L'ora non è corretta
Controllo:
- Fuso orario del server.
offsetvalore.- Ora legale.
- Se l'orologio del server è sincronizzato.
Controlli del server:
date
timedatectl
Se l'ora del server è corretta ma l'orologio visualizzato è sbagliato, regolarlo offset.
Lo script crea voci duplicate
Scarica lo script e conferma che la vecchia voce scompare:
!luaunload /PATH/TO/HUB/scripts/time.lua
Quindi caricalo di nuovo:
!luaload /PATH/TO/HUB/scripts/time.lua
Se rimangono dei duplicati, riavviare il plugin Lua o il servizio Verlihub durante una finestra di manutenzione.
L'orologio si aggiorna troppo spesso
Aumentare l'intervallo.
interval = 60
format = "%I:%M%p"
Se vengono visualizzati i secondi, utilizzare:
interval = 10
format = "%I:%M:%S%p"
Gli utenti sono confusi dalla voce
Rendi più chiaro il prefisso o la descrizione.
prefix = '!_HUB_TIME_'
description = 'Hub Time Clock'
Note sulla sicurezza
Questo script è piccolo, ma viene comunque eseguito all'interno dell'ambiente Verlihub Lua. Mantieni lo script concentrato sul calcolo dell'ora corrente e sull'aggiornamento del nome visualizzato.
Non aggiungere:
- Richieste HTTP esterne.
- Interrogazioni del database.
- Scansione dei file.
- Anelli lunghi.
- Blocco delle chiamate per dormire.
Note sulla manutenzione
Conserva un backup prima di modificare lo script:
cp /PATH/TO/HUB/scripts/time.lua /PATH/TO/HUB/scripts/time.lua.bak
Se usi Git:
cd /PATH/TO/HUB/scripts
git add time.lua
git commit -m "Update time.lua clock settings"
Quando si modifica solo il prefisso, il suffisso, il formato, l'intervallo o l'offset, non sono necessarie modifiche alla logica del codice.