time.lua स्क्रिप्ट एक छोटी उपयोगकर्ता-सूची प्रविष्टि बनाती है जिसका नाम वर्तमान समय दिखाने के लिए बदल जाता है। इसका उपयोग तब करें जब Verlihub hub को अंतरराष्ट्रीय उपयोगकर्ताओं, क्षेत्रीय कमरों या समय क्षेत्रों में समन्वय करने वाले ऑपरेटरों के लिए दृश्यमान समय क्षेत्र मार्कर की आवश्यकता हो।
स्क्रिप्ट को एक अलग बाहरी बॉट प्रक्रिया की आवश्यकता नहीं है। यह hub user list के अंदर बॉट जैसी प्रविष्टि बनाने के लिए Verlihub Lua प्लगइन का उपयोग करता है। एक घड़ी प्रविष्टि इस तरह दिख सकती है:
!_US_06:30:00PM
आप स्क्रिप्ट लोड करने से पहले उपसर्ग, पोस्टफिक्स, समय प्रारूप, अद्यतन अंतराल और समयक्षेत्र ऑफसेट को बदल सकते हैं।
यह स्क्रिप्ट क्या करती है
स्क्रिप्ट तीन भागों से प्रदर्शन नाम बनाती है:
prefix + current time + postfix
उदाहरण आउटपुट:
!_US_06:30:00PM
दृश्यमान उपयोगकर्ता-सूची प्रविष्टि एक टाइमर पर अद्यतन होती है ताकि प्रदर्शित समय चालू रहे।
इस स्क्रिप्ट का उपयोग इसके लिए करें:
- हब समय क्षेत्र दिखाया जा रहा है.
- एक क्षेत्रीय घड़ी दिखा रहा हूँ.
- अंतर्राष्ट्रीय उपयोगकर्ताओं को समय का समन्वय करने में सहायता करना।
- उपयोगकर्ता सूची में एक सरल विज़ुअल मार्कर बनाना।
- बाहरी सॉफ़्टवेयर चलाए बिना एक छोटी उपयोगिता वाला बॉट जोड़ना।
आवश्यकताएं
इस स्क्रिप्ट की आवश्यकता है:
- Verlihub स्थापित और चल रहा है।
- Verlihub Lua प्लगइन स्थापित किया गया।
- Lua प्लगइन Verlihub में सक्षम है।
- Lua स्क्रिप्ट को लोड और अनलोड करने की अनुमति।
- Verlihub Lua फ़ाइलों के लिए एक लिखने योग्य स्क्रिप्ट निर्देशिका।
स्क्रिप्ट लोड करने से पहले, पुष्टि करें कि Lua प्लगइन सक्रिय है:
!pluglist
यदि Lua प्लगइन सूचीबद्ध नहीं है, तो पहले इसे मूल Lua सेटअप आलेख से लोड या सक्षम करें।
अनुशंसित फ़ाइल स्थान
एक समर्पित स्क्रिप्ट निर्देशिका का उपयोग करें:
mkdir -p /PATH/TO/HUB/scripts
स्क्रिप्ट को यहां रखें:
/PATH/TO/HUB/scripts/time.lua
उत्पादन प्रणालियों के लिए, निर्देशिका केवल विश्वसनीय प्रशासकों या Verlihub सेवा उपयोगकर्ता द्वारा लिखने योग्य होनी चाहिए। निर्देशिका को विश्व-लेखन योग्य न बनाएं.
लोड और अनलोड कमांड
स्क्रिप्ट लोड करें:
!luaload /PATH/TO/HUB/scripts/time.lua
स्क्रिप्ट अनलोड करें:
!luaunload /PATH/TO/HUB/scripts/time.lua
यदि आप स्क्रिप्ट संपादित करते हैं, तो उसे अनलोड करें और फिर से लोड करें:
!luaunload /PATH/TO/HUB/scripts/time.lua
!luaload /PATH/TO/HUB/scripts/time.lua
जब तक आपका Verlihub Lua प्लगइन कॉन्फ़िगरेशन सापेक्ष पथों का समर्थन नहीं करता, तब तक पूर्ण निरपेक्ष पथ का उपयोग करें।
स्क्रिप्ट कोड
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
कॉन्फ़िगरेशन विकल्प
name
name = ''
बॉट-जैसी प्रविष्टि के लिए आधार नाम मान। इस स्क्रिप्ट में, दृश्य नाम उत्पन्न होता है GetName(), इसलिए name आमतौर पर खाली रह सकता है.
class
class = 3
बॉट जैसी प्रविष्टि के प्रदर्शित वर्ग या प्रोफ़ाइल स्तर को नियंत्रित करता है। वर्ग मानों का सटीक अर्थ हब कॉन्फ़िगरेशन पर निर्भर करता है। कई हब सेटअपों में, उच्च श्रेणी संख्याएँ उन्नत उपयोगकर्ता भूमिकाओं का प्रतिनिधित्व करती हैं।
एक वर्ग मान का उपयोग करें जो उपयोगकर्ता सूची में घड़ी प्रविष्टि को प्रदर्शित करने के तरीके के अनुरूप हो।
description
description = 'Time Bot: US'
बॉट-जैसी प्रविष्टि के लिए दिखाया गया विवरण। यह समझाने के लिए इसका उपयोग करें कि प्रविष्टि क्या दर्शाती है।
description = 'Time Bot: US'
description = 'Time Bot: UTC'
description = 'Hub Clock'
description = 'Server Time'
speed
speed = '100'
बॉट-जैसी प्रविष्टि के लिए कनेक्शन गति मान प्रदर्शित होता है। यह अधिकतर कॉस्मेटिक है. यह नियंत्रित नहीं करता कि स्क्रिप्ट कितनी बार अपडेट होती है।
email = ''
बॉट-जैसी प्रविष्टि के लिए दिखाया गया ईमेल फ़ील्ड। जब तक आप संपर्क पता प्रदर्शित नहीं करना चाहते, इसे खाली छोड़ दें।
share
share = '0'
बॉट-जैसी प्रविष्टि के लिए प्रदर्शित शेयर आकार। एक घड़ी बॉट के लिए, 0 उपयुक्त है क्योंकि यह वास्तविक फ़ाइल-साझाकरण उपयोगकर्ता नहीं है।
prefix
prefix = '!_US_'
पाठ उत्पन्न समय से पहले रखा गया। इससे उपयोगकर्ता सूची में घड़ी को पहचानना आसान हो जाता है।
prefix = '!_US_'
prefix = '!_UTC_'
prefix = '[TIME] '
prefix = 'Clock_'
ऐसा उपसर्ग चुनें जो आपकी hub user list में स्पष्ट रूप से क्रमबद्ध हो।
postfix
postfix = ''
उत्पन्न समय के बाद पाठ रखा गया।
postfix = ''
postfix = '_EST'
postfix = '_UTC'
postfix = ' HubTime'
interval
interval = 10
यह नियंत्रित करता है कि स्क्रिप्ट को कितनी बार अपडेट किया जाना चाहिए, आमतौर पर सेकंड में। अंतराल उचित रखें. हब उपयोगकर्ता-सूची प्रविष्टि के लिए आमतौर पर हर सेकंड अपडेट करना अनावश्यक है।
10: दृश्यमान सेकंड-आधारित घड़ी के लिए उपयोगी।30: कई हब के लिए एक अच्छा संतुलन।60: केवल मिनट वाली घड़ियों के लिए सर्वोत्तम।
यदि आपका प्रारूप सेकंड नहीं दिखाता है, तो उपयोग करें 60.
format = "%I:%M%p"
interval = 60
counter
counter = 0
स्क्रिप्ट द्वारा प्रयुक्त आंतरिक काउंटर. इसे तब तक न बदलें जब तक आप स्क्रिप्ट तर्क को संशोधित नहीं कर रहे हों।
format
format = "%I:%M:%S%p"
यह नियंत्रित करता है कि समय कैसे प्रदर्शित किया जाए। यह Lua का उपयोग करता है os.date स्वरूपण। डिफ़ॉल्ट प्रारूप सेकंड और AM/PM के साथ 12 घंटे का समय प्रदर्शित करता है।
उदाहरण आउटपुट:
06:30:00PM
सामान्य प्रारूप:
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
उपयोगकर्ता-सूची प्रविष्टियों के लिए, छोटे प्रारूप आमतौर पर पढ़ने में आसान होते हैं।
offset
offset = -5
सर्वर समय से समय क्षेत्र का अंतर, घंटों में। स्क्रिप्ट का उपयोग करके समय की गणना की जाती है:
os.time() + offset * 60 * 60
उदाहरण:
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
यह एक निश्चित ऑफसेट है. जब तक सर्वर समय और ऑफसेट को समायोजित नहीं किया जाता है तब तक यह डेलाइट सेविंग टाइम नियमों को स्वचालित रूप से संभाल नहीं पाता है। डेलाइट सेविंग परिवर्तनों के लिए, आवश्यकता पड़ने पर ऑफ़सेट को अपडेट करें।
उदाहरण विन्यास
अमेरिकी पूर्वी समय शैली
description = 'Time Bot: US Eastern'
prefix = '!_US_'
postfix = ''
interval = 60
format = "%I:%M%p"
offset = -5
उदाहरण प्रदर्शन:
!_US_06:30PM
यूटीसी घड़ी
description = 'Time Bot: UTC'
prefix = '!_UTC_'
postfix = ''
interval = 60
format = "%H:%M"
offset = 0
उदाहरण प्रदर्शन:
!_UTC_23:30
24 घंटे की हब घड़ी
description = 'Hub Clock'
prefix = '!_TIME_'
postfix = ''
interval = 60
format = "%H:%M"
offset = 0
उदाहरण प्रदर्शन:
!_TIME_18:30
अनुशंसित उत्पादन सेटिंग्स
अधिकांश हब के लिए, केवल-मिनट वाली घड़ी का उपयोग करें:
prefix = '!_US_'
postfix = ''
interval = 60
format = "%I:%M%p"
offset = -5
यह घड़ी को पढ़ने योग्य बनाए रखते हुए अनावश्यक अपडेट को कम करता है।
सेकंड का उपयोग केवल तभी करें जब आप लाइव क्लॉक प्रभाव चाहते हों:
interval = 10
format = "%I:%M:%S%p"
हब उपयोगकर्ता-सूची प्रविष्टि के लिए एक सेकंड का अद्यतन अंतराल आमतौर पर अनावश्यक है:
interval = 1
स्क्रिप्ट का परीक्षण
स्क्रिप्ट लोड करने के बाद, उत्पन्न समय प्रविष्टि के लिए hub user list की जाँच करें।
पुष्टि करें कि:
- प्रविष्टि केवल एक बार दिखाई देती है.
- प्रदर्शित समय सही है.
- उपसर्ग और उपसर्ग सही दिखते हैं।
- अद्यतन अंतराल बहुत आक्रामक नहीं है.
- स्क्रिप्ट अनलोड करने के बाद प्रविष्टि गायब हो जाती है।
- स्क्रिप्ट को पुनः लोड करने से डुप्लिकेट नहीं बनते हैं।
यदि समय गलत है, तो सर्वर टाइमज़ोन और कॉन्फ़िगर किए गए ऑफ़सेट की जाँच करें।
सर्वर पर, वर्तमान सिस्टम समय जांचें:
date
timedatectl
समस्या निवारण
स्क्रिप्ट लोड नहीं होती
जांचें कि Lua प्लगइन सक्रिय है:
!pluglist
जांचें कि फ़ाइल पथ सही है:
!luaload /PATH/TO/HUB/scripts/time.lua
यदि सापेक्ष पथ काम नहीं करते तो निरपेक्ष पथ का उपयोग करें।
समय ग़लत है
जाँच करना:
- सर्वर समय क्षेत्र.
offsetकीमत।- दिन के समय को बचाना।
- क्या सर्वर घड़ी सिंक्रनाइज़ है.
सर्वर जाँच:
date
timedatectl
यदि सर्वर का समय सही है लेकिन प्रदर्शित घड़ी गलत है, तो समायोजित करें offset.
स्क्रिप्ट डुप्लिकेट प्रविष्टियाँ बनाती है
स्क्रिप्ट को अनलोड करें और पुष्टि करें कि पुरानी प्रविष्टि गायब हो गई है:
!luaunload /PATH/TO/HUB/scripts/time.lua
फिर इसे दोबारा लोड करें:
!luaload /PATH/TO/HUB/scripts/time.lua
यदि डुप्लिकेट बचे हैं, तो रखरखाव विंडो के दौरान Lua प्लगइन या Verlihub सेवा को पुनरारंभ करें।
घड़ी बहुत बार अपडेट होती है
अंतराल बढ़ाएँ.
interval = 60
format = "%I:%M%p"
यदि सेकंड प्रदर्शित होते हैं, तो उपयोग करें:
interval = 10
format = "%I:%M:%S%p"
एंट्री से यूजर्स भ्रमित हैं
उपसर्ग या विवरण को स्पष्ट करें.
prefix = '!_HUB_TIME_'
description = 'Hub Time Clock'
सुरक्षा नोट
यह स्क्रिप्ट छोटी है, लेकिन यह अभी भी Verlihub Lua वातावरण के अंदर चलती है। स्क्रिप्ट को वर्तमान समय की गणना करने और प्रदर्शन नाम को अद्यतन करने पर केंद्रित रखें।
जोडो मत:
- बाहरी HTTP अनुरोध.
- डेटाबेस क्वेरीज़.
- फ़ाइल स्कैनिंग.
- लंबे लूप.
- स्लीप कॉल्स को ब्लॉक करना.
रखरखाव नोट्स
स्क्रिप्ट बदलने से पहले बैकअप रखें:
cp /PATH/TO/HUB/scripts/time.lua /PATH/TO/HUB/scripts/time.lua.bak
यदि Git का उपयोग कर रहे हैं:
cd /PATH/TO/HUB/scripts
git add time.lua
git commit -m "Update time.lua clock settings"
केवल उपसर्ग, उपसर्ग, प्रारूप, अंतराल, या ऑफसेट बदलते समय, किसी कोड तर्क परिवर्तन की आवश्यकता नहीं होती है।