Telegram बॉट को एक दूसरा यूज़रनेम मिलेगा, जो "bot" पर समाप्त होने के बजाय app, agent, ai, game या gay पर समाप्त हो सकता है। Telegram Premium सदस्यता वाला बॉट मालिक ऐसा नाम जोड़ पाएगा, प्रति बॉट एक। नाम के अंत के आधार पर, क्लाइंट बॉट को स्टेटस बार में लेबल करेगा: सामान्य "bot" के बजाय, यह "agent", "AI", "game" या "app" होगा। विधियाँ पहले से ही TDLib में मौजूद हैं, लेबल Telegram Desktop के कोड में है, और त्रुटि संदेश Android 13.0.2 में हैं, जो 13 अक्टूबर को जारी किया गया था। 9 अक्टूबर तक सर्वर कॉन्फ़िग में इसके लिए कोई कुंजी नहीं थी।

नामकरण नियम में क्या बदल रहा है

वर्तमान में, बॉट का यूज़रनेम "bot" पर समाप्त होना अनिवार्य है: "tetris_bot" या "TetrisBot", जैसा कि BotFather के दस्तावेज़ मांगते हैं। यह नियम बना रहेगा: बॉट का मुख्य नाम अभी भी "bot" पर समाप्त होगा।

नया एक दूसरा नाम है (TDLib स्कीम में इसे secondary_username कहा जाता है)। यह मुख्य नाम को प्रतिस्थापित नहीं करता है, बल्कि बॉट के लिंक की सूची में उसके साथ रहता है, जैसे चैनलों और खातों के अतिरिक्त नाम। तीन प्रतिबंध हैं:

  • नाम अनुमत अंतों में से एक पर समाप्त होना चाहिए, जिनकी सूची सर्वर भेजता है;
  • एक बॉट का केवल एक ऐसा नाम हो सकता है;
  • एक मालिक के पास सर्वर द्वारा निर्धारित सीमा से अधिक ऐसे बॉट नहीं हो सकते; डिफ़ॉल्ट रूप से, TDLib दो सेट करता है।

यदि बॉट बनाते समय "bot" के बिना एक नाम चुना जाता है, तो TDLib इस क्रम का वर्णन करता है: चुना गया नाम दूसरा नाम बन जाएगा, और मुख्य नाम, जो "bot" पर समाप्त होता है, सर्वर द्वारा बॉट को असाइन किया जाएगा।

बॉट मालिक के लिए यह कैसा दिखेगा

जब तक सर्वर अंतों की सूची नहीं भेजता, तब तक किसी भी क्लाइंट में दूसरा नाम जोड़ना संभव नहीं है। जब यह सक्षम हो जाएगा, तो Android क्लाइंट की पंक्तियों से मार्ग पढ़ा जा सकता है:

  • नाम फ़ील्ड में एक संकेत दिखाई देगा "यह 'bot' पर समाप्त होना चाहिए — या Telegram Premium के साथ app, agent... पर";
  • सदस्यता के बिना नए अंत वाला नाम यह संदेश देगा कि ऐसे नामों के लिए Premium की आवश्यकता है, जिसमें सदस्यता बटन होगा;
  • ऐसे नाम वाला तीसरा बॉट सीमा तक पहुँच जाएगा: "आपके पास सभी बॉट्स पर केवल N ऐसे नाम हो सकते हैं";
  • उसी बॉट पर दूसरा प्रयास "इस बॉट का पहले से ही एक Premium नाम है, नया जोड़ने से पहले इसे हटा दें" द्वारा रोक दिया जाएगा।

खाली नाम की जाँच नए बॉट के लिए समान है, जिसमें "दूसरे नाम के लिए" एक अलग फ़्लैग होता है। दूसरा नाम किसी भी समय हटाया जा सकता है।

लेबल कहाँ दिखाई देगा

लेबल चैट हेडर और प्रोफ़ाइल में बॉट के नाम के नीचे की स्ट्रिंग है, जहाँ अभी "bot" लिखा होता है। Telegram Desktop इसे एक छोटे फ़ंक्शन द्वारा निर्धारित करता है: यह बॉट के लिंक की सूची में पहला नाम लेता है और उसके अंत को पाँच विकल्पों के साथ, केस-संवेदनशीलता के बिना, जाँचता है। यदि यह मेल खाता है, तो "bot" के बजाय तालिका से शब्द मुद्रित होता है। यदि मेल नहीं खाता है, तो "bot" बना रहता है।

अंतअंग्रेज़ीरूसी (अनुवाद प्लेटफ़ॉर्म पर)
appappприложение
agentagentагент
aiaiИИ
gamegameигра
gaygayгей

एक महत्वपूर्ण विवरण है जो घोषणाओं से स्पष्ट नहीं है: यदि सर्वर बॉट के लिए मासिक सक्रिय उपयोगकर्ताओं की संख्या भेजता है, तो स्टेटस बार इसे दिखाता है, और अंत के आधार पर लेबल उस तक नहीं पहुँचता है। यानी, "agent" मुख्य रूप से उन बॉट्स के लिए देखा जाएगा जिनके पास ऐसा काउंटर नहीं है।

दूसरा विवरण यह है कि सूची में पहले नाम की जाँच की जाती है, चाहे वह कुछ भी हो। बॉट मालिक ड्रैग-एंड-ड्रॉप करके लिंक के क्रम को बदल सकता है, लेकिन क्या दूसरा नाम शीर्ष पर रखा जा सकता है, यह स्कीम में निर्दिष्ट नहीं है। इस पर निर्भर करता है कि क्या बॉट के लिए लेबल दिखाई देगा जिसका मुख्य नाम "bot" पर समाप्त होता है।

पाँचवाँ अंत अपनी चर्चा की तुलना में कम समय में पूरा हुआ। Desktop के स्रोत कोड में यह 6 अक्टूबर को अंग्रेजी पाठ "non-binary" के साथ दिखाई दिया, और 8 अक्टूबर को अनुवाद प्लेटफ़ॉर्म पर अंग्रेजी विकल्प को "gay" से बदल दिया गया। रूसी अनुवाद वहाँ दो दिनों में «гей», «геи» और «gay» रह चुका है, इसलिए अंतिम शब्द अभी भी बदल सकता है। अन्य चार अंतों का अनुवाद बिना किसी असहमति के किया गया है।

क्या यह Premium के लिए मुफ़्त है

अधिक सटीक रूप से कहें तो: दूसरा नाम केवल Premium के साथ उपलब्ध है, और कोड में इसके लिए कोई अलग शुल्क नहीं है। TDLib में जोड़ने की विधि दो तर्क स्वीकार करती है — बॉट और नाम, बिना कीमत, सितारों या Gram के। MTProto स्कीम में सर्वर विधि bots.addUsername भी इसी तरह संरचित है। TDLib अनुमत अंतों की सूची को "Premium-suffixes" कहता है, और Android इसे "Premium-name" कहता है। वर्तमान कोड में सदस्यता के बिना ऐसा नाम खरीदने का कोई तरीका नहीं है।

Fragment के साथ यह तंत्र ओवरलैप नहीं करता है। स्कीम सीधे दूसरे नाम को "गैर-संग्रहणीय" (non-collectible) कहती है: यह नीलामी से कोई NFT-यूज़रनेम नहीं है, इसे बेचा या स्थानांतरित नहीं किया जाता है, बल्कि इसे एक सामान्य नाम की तरह आरक्षित किया जाता है, यदि वह उपलब्ध हो। बॉट Fragment से संग्रहणीय नाम पहले से ही धारण कर सकता है, और वे भी "bot" के बिना समाप्त हो सकते हैं।

सदस्यता समाप्त होने पर क्या होगा, स्कीम एक पंक्ति में बताती है: यदि दूसरा नाम निष्क्रिय कर दिया जाता है, तो इसे केवल Premium के साथ ही फिर से सक्रिय किया जा सकता है। इससे यह परिकल्पना निकलती है कि Premium समाप्त होने पर नाम निष्क्रिय हो जाता है, न कि मुक्त होता है — लेकिन कोड में ऐसे परिदृश्य का कोई सीधा वर्णन नहीं है।

सर्वर को अंतों की सूची कहाँ से मिलती है

Telegram Desktop में पाँच अंत सीधे कोड में लिखे गए हैं: यह लेबल के लिए एक डिक्शनरी है। TDLib एप्लिकेशन के सर्वर कॉन्फ़िग से अनुमत पंजीकरण अंतों को bot_allowed_suffixes कुंजी से पढ़ता है, और क्लाइंट्स को updateAllowedBotUsernamePremiumSuffixes इवेंट (30 सितंबर से कमिट) के साथ भेजता है। मालिक के लिए सीमा bot_additional_usernames_limit कुंजी के साथ आती है। 9 अक्टूबर तक लाइव कॉन्फ़िग में इनमें से कोई भी कुंजी नहीं थी, इसलिए सर्वर पर अंतों की सूची क्लाइंट्स को ज्ञात पाँच से छोटी या लंबी हो सकती है।