मिनी-एप्लिकेशन बॉटफैदर में बॉट बनाने के फॉर्म में एक नया नाम का फील्ड जोड़ा गया है। यह फील्ड वैकल्पिक है, अलग तरीके से जांचा जाता है और अन्य डेटा के साथ ही सर्वर पर भेजा जाता है। यह बदलाव अभी चार डिप्लॉयमेंट स्टैंड्स में से एक पर ही उपलब्ध है।

कोड में क्या बदलाव आए हैं
botfather.js वेब-बॉटफैदर है — एक मिनी-एप्लिकेशन जहां बॉट के टोकन, कमांड्स और प्रोफाइल की स्थापना की जाती है। इसमें 46 नई पंक्तियां जोड़ी गई हैं।
इस फील्ड का नाम additional_username है, और पेज लोड होने पर इसकी स्थिति "वैध" (valid) के रूप में सेट की जाती है — खाली फील्ड फॉर्म को ब्लॉक नहीं करता। इस फील्ड के लिए अलग टाइमर भी लगाया गया है: फील्ड में बदलाव आने पर 400 मिलीसेकंड के बाद जांच होती है, जबकि फील्ड से बाहर निकलने पर तुरंत जांच हो जाती है, ताकि इंतजार न करना पड़े।
जांच सर्वर पर checkBotAdditionalUsername मेथड के जरिए होती है, और रिप्लाई को तीन स्थितियों में विभाजित किया जाता है: "जांच चल रही है", "उपलब्ध", या त्रुटि। त्रुटि का संदेश क्लाइंट पर नहीं बनाया जाता, बल्कि सर्वर से सीधे प्रिंट किया जाता है। फॉर्म भेजने में बस एक ही बात बाधा बनती है — अगर नाम खाली नहीं है लेकिन जांच नहीं पास करता है। इसके अलावा, createBot मेथड में एक नया पैरामीटर भी जोड़ा गया है, जिसमें इस नाम को शामिल किया जाता है।
इस फील्ड के लिए कोई नई इंटरफेस लाइन नहीं जोड़ी गई है: सुझाव वही कीवर्ड्स का उपयोग करते हैं जो पहले नाम के लिए उपलब्ध हैं।
क्या दूसरे नाम के लिए भुगतान करना होगा, इसके बारे में कोड से कुछ भी स्पष्ट नहीं होता। इसके सुझाव भी पहले नाम के जैसे ही हैं — "जांच चल रही है" और "उपलब्ध" — फाइल में फ्रैगमेंट, स्टार्स या खरीद के बारे में कोई शब्द नहीं है। लेकिन अगर कोई फीस है, तो वह सर्वर पर ही रहती है: क्लाइंट केवल यह जांचता है कि नाम उपलब्ध है या नहीं, और सर्वर का जवाब दिखाता है।
यह नई मैकेनिक्स नहीं है क्योंकि
टेलीग्राम प्रोटोकॉल में एक ही अकाउंट के लिए कई नाम होने का विचार पहले से ही जाना जाता है। API के स्कीमा में अलग तरीके से नाम का टाइप है, जिसमें "एडिटेबल" और "एक्टिव" फ्लैग्स होते हैं — यही तरीका कलेक्शन नामों के लिए है जो Fragment पर बिकते हैं, और चैनल्स के अतिरिक्त नामों के लिए भी ऐसा ही दिखता है।
बॉट्स की सूची वाला पेज पहले से ही उसी मिनी-एप्लिकेशन में था: अलग स्क्रीन और एक नए नाम को तैयार बॉट में जोड़ने का मेथड। इस बदलाव में एक ही नया बात है — अब बॉट बनाते समय ही दूसरा नाम दिया जा सकता है, बजाय इसके कि बाद में अलग से आकर जोड़ा जाए।
क्यों ऐसा किया गया है, यह कोड से नहीं बताता। फील्ड के लिए कोई लेबल, सुझाव या शर्त नहीं है जिसके आधार पर फील्ड दिखाई दे — यह पूरी फॉर्म की रिंग वाली बात है जो सर्वर द्वारा दी जाती है, और वह एप्लिकेशन के ऑथेंटिकेशन के बाद छिपी होती है।
अभी किसी को यह फील्ड नहीं दिख रहा क्योंकि
टेलीग्राम की स्टैटिक फाइलें कई स्टैंड्स से डिस्ट्रीब्यूट की जाती हैं, और वे सिंक्रोनाइज्ड नहीं हैं — ये अलग-अलग ब्रांच हैं, न कि कॉपी। आज दूसरा नाम केवल एक स्टैंड पर ही उपलब्ध है — वहां फाइल 95,172 बाइट्स की है। वर्किंग मिनी-एप्लिकेशन बॉटफैदर, जो टेलीग्राम से खोला जाता है, webappinternal.telegram.org से फाइल लेता है, जहां पुरानी वर्जन 93,463 बाइट्स की है — बॉट बनाने के फॉर्म में तीन फील्ड्स हैं: बॉट का नाम, विवरण और username।
वर्किंग कोड में यह मेथड नया नहीं है: यह पहले से ही तैयार बॉट के लिए नाम जोड़ने वाले स्क्रीन द्वारा कॉल किया जाता है और बॉट का आईडी साथ में भेजा जाता है। लेकिन वर्किंग सर्वर इसे नहीं चलाता। अपने बॉट के आईडी के साथ यह Method not found रिप्लाई देता है, जैसे कोई अस्तित्वहीन मेथड हो, और आईडी के बिना यह Unauthorized देता है। दूसरे नाम के लिए सर्वर साइड कोड अभी तक बनाया नहीं गया है — न बॉट बनाते समय, न तैयार बॉट के लिए।
अभी इस फील्ड को कहीं देखने का कोई तरीका नहीं है: स्टैंड की फाइलें किसी को भी दी जा सकती हैं, लेकिन फॉर्म का कोई भी एड्रेस मिनी-एप्लिकेशन के ऑथेंटिकेशन के बाद बंद है और 403 रिप्लाई देता है। वेब-बॉटफैदर के लिए कोई खुली पेज नहीं है, और t.me पर बॉट की पेज पर एप्लिकेशन चलाने की बटन भी नहीं है।
@BotFather से संवाद में अभी भी एक ही नाम के बारे में पूछा जा रहा है।



