Formulir pembuatan bot di mini aplikasi BotFather kini memiliki kolom nama tambahan. Kolom ini bersifat opsional, diverifikasi melalui metode terpisah, dan dikirim ke server bersama data profil lainnya. Perubahan ini saat ini hanya tersedia di satu dari empat stand distribusi.

Kode tambahan untuk verifikasi nama kedua di botfather.js
Bagian kunci: verifikasi nama kedua dilakukan dengan metode terpisah, dengan petunjuk yang sama seperti pada nama pertama.

Perubahan dalam Kode

botfather.js adalah web-BotFather, mini aplikasi tempat bot dibuat, token diberikan, perintah ditambahkan, dan profil dibuat. Kini kode ini bertambah 46 baris.

Kolom tersebut bernama additional_username, dan statusnya saat halaman dimuat diatur sebagai "valid" — kolom kosong tidak menghalangi proses. Kolom ini juga dilengkapi timer penundaan khusus: perubahan isi akan memicu verifikasi setelah 400 milidetik, sedangkan saat keluar dari kolom, verifikasi langsung dilakukan tanpa menunggu.

Verifikasi dilakukan ke server melalui metode checkBotAdditionalUsername, dan respons dibaca dalam tiga status petunjuk: "sedang diperiksa", "tersedia", dan kesalahan. Teks kesalahan tidak dibuat di sisi klien, melainkan dikirim langsung dari server. Formulir hanya akan gagal jika nama tidak kosong tetapi gagal verifikasi, dan metode createBot kini menerima parameter tambahan berupa nama tersebut.

Tidak ada penambahan elemen antarmuka baru untuk kolom ini: petunjuknya menggunakan kunci yang sama dengan nama pertama.

Tidak ada indikasi dalam kode apakah nama kedua harus dibayar. Petunjuknya sama seperti nama pertama yang gratis — "sedang diperiksa" dan "tersedia" — dan tidak ada satu pun kata tentang Fragment, bintang, atau pembelian dalam file tersebut. Jika ada biaya, maka lokasinya berada di server: klien hanya meminta apakah nama tersedia, lalu menampilkan responsnya.

Mengapa Ini Bukan Mekanisme Baru

Telegram sudah lama mengenal beberapa nama untuk satu akun. Dalam struktur API, ada tipe nama khusus dengan flag "dapat diedit" dan "aktif" — seperti nama koleksi yang dijual di Fragment, atau nama tambahan untuk channel.

Halaman daftar bot di mini aplikasi yang sama sudah ada sebelumnya: layar terpisah dan metode untuk menambahkan nama ke bot yang sudah jadi. Yang baru di sini hanyalah kemampuan menetapkan nama kedua pada saat yang sama saat bot dibuat, bukan harus kembali kemudian untuk menambahkannya.

Alasannya tidak disebutkan dalam kode. Tidak ada label, petunjuk, atau kondisi yang menentukan kapan kolom muncul: bagian formulir ini dibuat dari struktur yang dikirim server, dan struktur tersebut dilindungi otorisasi mini aplikasi.

Mengapa Kolom Ini Belum Dilihat Siapa Pun

Telegram menyebarkan statik melalui beberapa stand, yang tidak sinkron: ini adalah cabang, bukan salinan. Nama kedua hanya ada di satu dari empat stand tersebut — file di sana berukuran 95.172 byte. Mini aplikasi BotFather yang digunakan sehari-hari, yang dibuka dari Telegram, mengambil file dari webappinternal.telegram.org, dan di sana masih tersedia versi lama berukuran 93.463 byte: formulir pembuatan memiliki tiga kolom — nama bot, deskripsi, dan username.

Metode ini sebenarnya sudah ada dalam kode yang sedang berjalan: sudah dipanggil oleh layar penambahan nama ke bot yang sudah jadi, dan dikirim bersama nomor bot. Namun, server yang sedang berjalan tidak menjalankan metode tersebut. Dengan nomor bot sendiri, server merespons Method not found, seperti metode yang tidak ada, tanpa nomor bot, responsnya Unauthorized. Bagian server untuk nama kedua bot belum ada, baik saat pembuatan maupun untuk bot yang sudah jadi.

Tidak ada tempat untuk melihat kolom ini saat ini: file dari stand bisa diakses siapa saja, tetapi alamat formulir sendiri dilindungi otorisasi mini aplikasi dan mengembalikan respons 403. Tidak ada halaman terbuka untuk web-BotFather, dan di halaman bot di t.me, tombol untuk memulai aplikasi juga tidak muncul.

Dalam percakapan langsung dengan @BotFather, formulir profil tetap hanya meminta satu nama.