BotFather orqali Telegram-bot yaratish: bosqichma-bosqich yo‘riqnoma
Asoslar3 daqInnovialabs tahririyati
Qisqacha
@BotFather ni oching, /newbot yuboring, nom va bot bilan tugaydigan username tanlang va token oling; so‘ng tavsif, avatar, buyruqlar va menyu tugmasini sozlang, tokenni esa faqat server muhit o‘zgaruvchilarida saqlang.
Qisqacha: nima qilish kerak
- Telegram’da rasmiy @BotFather ni (ko‘k belgili) toping va «Start» ni bosing.
/newbotyuboring, botning nomi va usernameini kiriting.- Tokenni oling va darhol ishonchli joyda saqlang.
- Tavsif, avatar, buyruqlar va menyu tugmasini sozlang.
- Tokenni bot kodiga ulang.
Yaratilgandan keyin botning o‘zi hech narsa qila olmaydi: BotFather uni faqat ro‘yxatdan o‘tkazadi. Mantiqni dasturchi yozadi yoki konstruktorda sozlanadi.
1-qadam. Nom va username
/newbot dan keyin BotFather ikkita qiymat so‘raydi:
- Nom (name) — foydalanuvchilar chatlar ro‘yxati va profilda ko‘radigan nom. Istalgan tilda, bo‘sh joylar bilan bo‘lishi mumkin, keyinroq
/setnameorqali oson o‘zgartiriladi. - Username —
@shop_helper_botko‘rinishidagi bot manzili. Talablar: lotin harflari, raqamlar va pastki chiziq, uzunligi 5 dan 32 belgigacha, oxiribotbilan tugashi kerak (masalan,ShopBotyokishop_bot). Username band bo‘lmasligi lozim.
Username’ni darhol yakuniy variant sifatida tanlang: u t.me/nom havolalarida, vizitkalarda va reklamada ishlatiladi.
2-qadam. Token
BotFather javobida 123456789:AAH... ko‘rinishidagi token keladi. Token — botga to‘liq kirish huquqi: uni bilgan kishi bot nomidan xabar yubora oladi va uning yangilanishlarini o‘qiy oladi.
Token ishlayotganini getMe so‘rovi bilan tekshirish mumkin — u botingiz ma’lumotlarini qaytaradi.
3-qadam. Tavsif va avatar
/setdescription— foydalanuvchi bo‘sh chatda «Start» ni bosishdan oldin ko‘radigan matn. Bot nima qila olishi va uni nima uchun ishga tushirish kerakligini tushuntiring./setabouttext— bot profilidagi qisqa matn, 120 belgigacha./setuserpic— avatar. Kichik doirada ham yaxshi o‘qiladigan kvadrat rasm yuboring.
Yaxshi tavsif uchta savolga javob beradi: bot nima qiladi, kim uchun va «Start» dan keyin nima bo‘ladi.
4-qadam. Buyruqlar
/setcommands foydalanuvchi / yozganda va menyu tugmasida chiqadigan buyruqlar ro‘yxatini belgilaydi. Format — har bir qatorda bitta buyruq:
start - Ishni boshlash
catalog - Mahsulotlar katalogi
orders - Buyurtmalarim
help - Yordam va kontaktlar
Qoidalar: buyruq nomi — kichik lotin harflari, raqamlar va pastki chiziq, 32 belgigacha. Ro‘yxatni qisqa tuting: 3–6 ta buyruq yigirmatadan yaxshiroq o‘qiladi. Buyruqlarni koddan setMyCommands metodi bilan ham berish mumkin — turli tillar uchun turli ro‘yxatlar qilish shunday qulay.
5-qadam. Menyu tugmasi
Kiritish maydonining chap tomonida botning menyu tugmasi bor. Standart holatda u buyruqlar ro‘yxatini ochadi. BotFather’dagi bot sozlamalarida (/mybots → bot → Bot Settings → Menu Button) uni Mini App — Telegram ichidagi veb-ilovani ishga tushiruvchi tugmaga aylantirish mumkin. Koddan buni setChatMenuButton metodi bajaradi.
/mybots dagi boshqa foydali sozlamalar: guruhlardagi maxfiylik, botni guruhlarga qo‘shishga ruxsat, inline rejim.
Tokenni xavfsiz saqlash
- Tokenni kodda emas, muhit o‘zgaruvchilarida yoki maxfiy ma’lumotlar menejerida saqlang.
.envfaylini birinchi commit’dan oldin.gitignorega qo‘shing.- Tokenni hech qachon Mini App yoki sayt kodiga qo‘ymang: brauzerga tushgan hamma narsa foydalanuvchiga ko‘rinadi.
- Tokenni chatlarda yubormang va skrinshotlarda ko‘rsatmang.
- Ishlab chiqish va production uchun alohida botlar oching.
- Token sizib chiqsa, darhol bekor qiling:
/mybots→ bot → API Token → Revoke current token. Eski token ishlamay qoladi, serverda yangisini yangilang.
# .env (commit qilinmasin)
BOT_TOKEN=123456789:replace_with_your_token
Keng tarqalgan xatolar
- BotFather’ga o‘xshash soxta akkauntga yozish. Rasmiysi faqat belgili
@BotFather. - Tokenni ochiq repozitoriyda e’lon qilish.
- Tavsifni bo‘sh qoldirish — foydalanuvchi «Start» ni nega bosishini tushunmaydi.
- BotFather’da buyruqlarni qo‘shib, kodda ular uchun handler yozmaslik.