Asosiy kontentga o‘tish
Innovialabs

Telegram-bot buyruqlari, menyu tugmasi va tavsifini sozlash

Amaliyot3 daq

Qisqacha

Buyruqlar har bir hudud va til uchun alohida setMyCommands orqali, menyu tugmasi setChatMenuButton orqali beriladi, tavsif, qisqa tavsif va avatar esa foydalanuvchi Start’ni bosishdan oldin nimani ko‘rishini belgilaydi.

Qisqa javob: nima va qayerda sozlanadi

Botda bir nechta «vitrina» elementi bor, ularning har birini BotFatherda yoki Bot API orqali berish mumkin:

NimaFoydalanuvchi qayerda ko‘radiBotFatherBot API
BuyruqlarBuyruqlar menyusi va «/» kiritilganda maslahatlar/setcommandssetMyCommands
Menyu tugmasiKiritish maydonining chap tomonida/mybots → Bot Settings → Menu ButtonsetChatMenuButton
TavsifStart bosilishidan oldingi bo‘sh chat/setdescriptionsetMyDescription
Qisqa tavsifBot profili va havola prevyusi/setabouttextsetMyShortDescription
AvatarChatlar ro‘yxati va profil/setuserpic—

BotFather bir martalik sozlash uchun qulay. API esa buyruqlar til, rol yoki chat bo‘yicha farq qilganda va sozlamalar bot bilan birga kodda saqlanishi kerak bo‘lganda zarur.

Buyruqlar: setMyCommands

Buyruq — kichik lotin harflari, raqamlar va pastki chiziqlar, 32 belgigacha; tavsifi — 256 belgigacha. Ro‘yxatni qisqa tuting: haqiqatan kerak bo‘lgan 3–7 ta buyruq.

curl -X POST "https://api.telegram.org/bot<TOKEN>/setMyCommands" \
  -H "Content-Type: application/json" \
  -d '{
    "commands": [
      {"command": "start", "description": "Boshlash"},
      {"command": "orders", "description": "Buyurtmalarim"},
      {"command": "help", "description": "Yordam"}
    ],
    "scope": {"type": "all_private_chats"},
    "language_code": "uz"
  }'

Hududlar (scope)

scope parametri turli joylarda turli buyruqlarni ko‘rsatishga imkon beradi:

  • default — standart holatda hamma joyda;
  • all_private_chats — barcha shaxsiy chatlarda;
  • all_group_chats — barcha guruhlarda;
  • all_chat_administrators — barcha guruhlar administratorlariga;
  • chat, chat_administrators, chat_member — aniq chat, uning administratorlari yoki aniq ishtirokchi.

Telegram mos keladigan eng aniq hududni tanlaydi. Masalan, guruhda administrator, agar berilgan bo‘lsa, chat_administratorsdagi buyruqlarni, oddiy ishtirokchi esa all_group_chats yoki defaultdagilarni ko‘radi. Bu /stats kabi xizmat buyruqlarini oddiy foydalanuvchilardan yashirishning qulay usuli.

Tillar

language_code parametri Telegram interfeysi shu tilda bo‘lgan foydalanuvchilar uchun ro‘yxatni belgilaydi. Avval language_code parametri bo‘lmagan ro‘yxat bering — u zaxira bo‘ladi, keyin ru, en, uz va boshqa kerakli tillar uchun tarjimalarni qo‘shing. Til botingiz ichidagi tanlovdan emas, ilova sozlamalaridan olinishini hisobga oling.

Menyu tugmasi

Kiritish maydoni chap tomonidagi tugma uch turda bo‘ladi:

  • commands — buyruqlar ro‘yxatini ochadi;
  • web_app — Mini Appni ishga tushiradi;
  • default — standart xatti-harakat.
{
  "menu_button": {
    "type": "web_app",
    "text": "Katalog",
    "web_app": {"url": "https://example.com/app"}
  }
}

chat_idsiz setChatMenuButton barcha shaxsiy chatlar uchun standart tugmani o‘zgartiradi, chat_id bilan esa faqat aniq foydalanuvchi uchun. Bundan Mini App’ni faqat ro‘yxatdan o‘tgandan keyin ko‘rsatish uchun foydalanish mumkin. Tugma matnini qisqa va aniq qiling: «Ochish» emas, «Katalog», «Yozilish».

Tavsif va qisqa tavsif

Tavsifni (512 belgigacha) foydalanuvchi bot bilan bo‘sh chatda — Start tugmasi ustida ko‘radi. Bu bosishga ishontiradigan asosiy matn. Unda uch savolga javob bering: bot nima qiladi, nimasi foydali, Start’dan keyin nima bo‘ladi. BotFather’da tavsifga rasm yoki qisqa animatsiya qo‘shish mumkin.

Qisqa tavsif (120 belgigacha) bot profilida va botga havola ulashilganda prevyuda ko‘rinadi. Foyda haqida bitta gap.

Ikkala matn ham buyruqlar kabi language_code orqali tillar bo‘yicha beriladi. Bot nomini ham setMyName orqali lokallashtirish mumkin.

Avatar va birinchi taassurot

Start’ni bosishdan oldin foydalanuvchi nomni, avatarni, profildagi qisqa tavsifni, chatdagi rasmli tavsifni va menyu tugmasini ko‘radi. Chek-list:

  • avatar kichik doirada yaxshi o‘qiladi: mayda matnsiz logotip yoki belgi;
  • nom faqat brend nomini emas, bu qanday bot ekanini aytadi;
  • tavsif shunchaki salomlashmaydi, foydani tushuntiradi;
  • barcha matnlar auditoriyangiz tillariga tarjima qilingan;
  • buyruqlar va menyu tugmasi bot haqiqatda qila oladigan narsaga mos.

Ko‘p beriladigan savollar

Telegram mijozi buyruqlar ro‘yxatini keshlaydi. Odatda chatni yopib, qayta ochish yoki ilovani qayta ishga tushirish yordam beradi. Ro‘yxatingizni aniqroq hudud yoki til bekor qilmayotganini ham tekshiring.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.