ZaminDocs

Turlar

Bot API javoblaridagi obyektlar. Maydonlar ro'yxati server kodidagi serializatordan olingan: bu yerda yo'q maydon botga kelmaydi. Ixtiyoriy maydonlar qiymati bo'lmasa javobda umuman bo'lmaydi (null emas).

User

Bot ko'radigan yagona foydalanuvchi shakli. Maydonlar qat'iy ro'yxat (whitelist) bo'yicha: quyidagilardan boshqa hech narsa botga bormaydi. Telefon, rasm, bio, tug'ilgan kun, onlayn holat, kontaktlar, joylashuv va haqiqiy hisob id'si hech qachon berilmaydi.

MaydonTuriMajburiyIzoh
idIntegerMajburiyShu botga xos psevdonim raqam (10–13 xonali). Har bir bot bir odam uchun boshqa raqam ko'radi. Shaxsiy chatda chat.id bilan bir xil.
is_botBooleanMajburiyFoydalanuvchi uchun doim false.
first_nameStringMajburiyIsm, ≀64 belgi. Ism bo'sh bo'lsa β€” "User".
last_nameStringIxtiyoriyFamiliya, ≀64 belgi. Bo'lmasa maydon yo'q.
usernameStringIxtiyoriyOchiq username. Bo'lmasa maydon yo'q.
language_codeStringIxtiyoriyIlova tili (2–3 kichik harf, masalan uz, en, ru). Noma'lum bo'lsa maydon yo'q.
Misol
{
  "id": 4810235517,
  "is_bot": false,
  "first_name": "Ali",
  "last_name": "Valiyev",
  "username": "ali",
  "language_code": "uz"
}

User (bot)

Botning o'zi: getMe javobi, bot yuborgan xabarlardagi from, ChatMember.user va guruhdagi boshqa botlar (new_chat_members, left_chat_member). Barcha maydonlar har doim keladi.

MaydonTuriMajburiyIzoh
idIntegerMajburiyBotning raqamli id'si (tokendagi : belgisidan oldingi qism).
is_botBooleanMajburiyDoim true.
first_nameStringMajburiyBotning nomi.
usernameStringMajburiyBotning username'i.
can_join_groupsBooleanMajburiyBotni guruh va kanallarga qo'shish mumkinmi (@ZaminBot /setjoingroups, standart true).
can_read_all_group_messagesBooleanMajburiyEgasining sozlamasi: privacy mode o'chirilgan (@ZaminBot /setprivacy, standart false). O'zi hech qachon "barcha xabarlar"ni yoqmaydi: buning uchun bot guruh admini bo'lishi va guruh egasi huquqni aniq berishi kerak (batafsil). Guruhdagi haqiqiy holat β€” ChatMember'da.
supports_inline_queriesBooleanMajburiyDoim false (inline rejim yo'q).
Misol
{
  "id": 1000001,
  "is_bot": true,
  "first_name": "Ob-havo",
  "username": "ObHavoBot",
  "can_join_groups": true,
  "can_read_all_group_messages": false,
  "supports_inline_queries": false
}

Chat

Chat turi type maydonida:

  • private β€” shaxsiy chat; id foydalanuvchining psevdonim id'si bilan bir xil (musbat).
  • group β€” guruh; id -<10 raqam>, masalan -4012345678.
  • channel β€” kanal; id -100<10 raqam>.
  • supergroup β€” kanalning izohlari chati (linked_chat_id); id -100….

Guruh va kanal id'lari tasodifiy, lekin doimiy: ularni bazangizda saqlash mumkin. description, permissions va linked_chat_id faqat getChat javobida keladi.

MaydonTuriMajburiyIzoh
idIntegerMajburiyChat id'si. Shaxsiy chatda = from.id; guruh va kanalda manfiy.
typeStringMajburiyprivate, group, channel yoki supergroup.
titleStringIxtiyoriyGuruh, kanal yoki izohlar chati nomi.
usernameStringIxtiyoriyShaxsiy chat: foydalanuvchi username'i. Guruh yoki kanal: faqat ochiq bo'lsa (shu bilan chat_id: "@username" ishlaydi).
first_nameStringIxtiyoriyShaxsiy chat: foydalanuvchining ismi (doim bor).
last_nameStringIxtiyoriyShaxsiy chat: familiya.
descriptionStringIxtiyoriygetChat: guruh yoki kanal tavsifi (bo'lsa).
permissionsChatPermissionsIxtiyoriygetChat, guruh: oddiy a'zolar nima qila oladi.
linked_chat_idIntegerIxtiyoriygetChat, kanal: izohlar yoqilgan bo'lsa β€” izohlar chati id'si.
Misol
{"id": -4012345678, "type": "group", "title": "Dasturchilar"}

ChatPermissions

Guruhda oddiy a'zolarga nima ruxsat etilgani (guruh sozlamalari). getChat javobida keladi. restrictChatMember'da hozircha faqat can_send_messages ishlaydi.

MaydonTuriMajburiyIzoh
can_send_messagesBooleanIxtiyoriyMatn yozish.
can_send_media_messagesBooleanIxtiyoriyFayl yuborish.
can_pin_messagesBooleanIxtiyoriyXabar qadash.
can_change_infoBooleanIxtiyoriyNom, tavsif, rasmni o'zgartirish.
can_invite_usersBooleanIxtiyoriyA'zo qo'shish.
Misol
{
  "can_send_messages": true,
  "can_send_media_messages": true,
  "can_pin_messages": false,
  "can_change_info": false,
  "can_invite_users": true
}

Message

Chatdagi xabar. Ixtiyoriy maydonlar faqat qiymati bo'lsa keladi. message_id β€” chat ichida o'sib boruvchi butun son (bot va foydalanuvchi xabarlari uchun umumiy). Guruhda bu guruhning umumiy xabar raqami (hamma uchun bir xil, oraliqlar bo'lishi mumkin); kanal va izohlarda β€” bot birinchi marta ko'rganda beriladigan raqam.

Guruhdagi xabarlar faqat privacy mode ruxsat bergan hollarda keladi. Boshqa botlarning xabarlari hech qachon kelmaydi.

MaydonTuriMajburiyIzoh
message_idIntegerMajburiyXabar raqami (shu chat ichida).
fromUserIxtiyoriyYuboruvchi: foydalanuvchi yoki bot (User (bot)). Kanal postlarida yo'q (o'rniga sender_chat); xizmat xabarlarida bo'lmasligi mumkin.
sender_chatChatIxtiyoriyKanal posti: kanalning o'zi.
chatChatMajburiyChat.
dateIntegerMajburiyYuborilgan vaqt (Unix soniya).
edit_dateIntegerIxtiyoriyOxirgi tahrir vaqti.
textStringIxtiyoriyMatn (1–4096).
captionStringIxtiyoriyFayl ostidagi matn (≀1024). Bo'sh bo'lsa maydon yo'q.
photoArray of PhotoSizeIxtiyoriyRasm. Hozircha doim bitta element.
documentDocumentIxtiyoriyHujjat (istalgan fayl).
videoVideoIxtiyoriyVideo.
audioAudioIxtiyoriyAudio.
voiceVoiceIxtiyoriyGuruh: ovozli xabar.
video_noteVideoNoteIxtiyoriyGuruh: dumaloq video xabar.
contactContactIxtiyoriyFoydalanuvchi request_contact tugmasi orqali tasdiqlab yuborgan o'z telefon raqami (faqat shaxsiy chat).
locationLocationIxtiyoriyShaxsiy chat: request_location tugmasi orqali tasdiqlab yuborilgan joylashuv. Guruh: a'zo yuborgan joylashuv (bot uni ko'rishga haqli bo'lsa).
reply_to_messageMessageIxtiyoriyJavob qilingan xabar (bir daraja, o'zida yana reply_to_message bo'lmaydi). O'chirilgan bo'lsa yo'q. Guruhda faqat botning o'z xabari to'liq keladi; boshqalarning xabari mazmunsiz: {message_id, chat, date, from} β€” botning nusxasida iqtibos matni yo'q (bot nusxasi).
reply_markupInlineKeyboardMarkupIxtiyoriyXabarga biriktirilgan inline klaviatura (faqat bot xabarlarida).
new_chat_membersArray of UserIxtiyoriyXizmat xabari: guruhga qo'shilganlar (odamlar yoki botlar, botning o'zi ham).
left_chat_memberUserIxtiyoriyXizmat xabari: guruhdan chiqqan yoki chiqarilgan odam (yoki bot).
new_chat_titleStringIxtiyoriyXizmat xabari: guruhning yangi nomi.
message_thread_idIntegerIxtiyoriyKanal izohi: qaysi postga yozilgani (post raqami).
Misol
{
  "message_id": 15,
  "from": {
    "id": 4810235517,
    "is_bot": false,
    "first_name": "Ali",
    "last_name": "Valiyev",
    "username": "ali",
    "language_code": "uz"
  },
  "chat": {
    "id": 4810235517,
    "type": "private",
    "first_name": "Ali",
    "last_name": "Valiyev",
    "username": "ali"
  },
  "date": 1791106200,
  "text": "Ertaga-chi?",
  "reply_to_message": {
    "message_id": 14,
    "from": {
      "id": 1000001,
      "is_bot": true,
      "first_name": "Ob-havo",
      "username": "ObHavoBot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "chat": {
      "id": 4810235517,
      "type": "private",
      "first_name": "Ali",
      "last_name": "Valiyev",
      "username": "ali"
    },
    "date": 1791106080,
    "text": "Bugun +24Β°C β˜€οΈ"
  }
}

PhotoSize

Rasm. Server rasmlarni JPEG'ga qayta kodlaydi (eng katta tomoni ≀2048 px, EXIF olib tashlanadi).

MaydonTuriMajburiyIzoh
file_idStringMajburiyFaylni qayta yuborish yoki getFile uchun. Shu botga xos.
file_unique_idStringMajburiyBarqaror noyob id (fayl ↔ bot juftligi uchun). Qayta yuborish uchun ishlatib bo'lmaydi.
widthIntegerMajburiyKenglik, px.
heightIntegerMajburiyBalandlik, px.
file_sizeIntegerMajburiyHajmi, bayt.

Document

Hujjat. mime_type fayl mazmunidan aniqlanadi; rasm, video va audio bo'lmagan barcha fayllar uchun application/octet-stream.

MaydonTuriMajburiyIzoh
file_idStringMajburiy
file_unique_idStringMajburiy
file_sizeIntegerMajburiyBayt.
mime_typeStringMajburiy
file_nameStringIxtiyoriyAsl nom (≀120 belgi). Rasmlarda bo'lmaydi.
widthIntegerIxtiyoriyFaqat rasm hujjat sifatida yuborilganda.
heightIntegerIxtiyoriyFaqat rasm hujjat sifatida yuborilganda.

Video

Video (MP4, MOV, WebM). Shaxsiy chatda kenglik, balandlik va davomiylik berilmaydi; guruhda kenglik va balandlik (noma'lum bo'lsa 0) keladi. Eskiz (thumbnail) yo'q.

MaydonTuriMajburiyIzoh
file_idStringMajburiy
file_unique_idStringMajburiy
file_sizeIntegerMajburiy
mime_typeStringMajburiyMasalan video/mp4.
file_nameStringIxtiyoriyShaxsiy chat.
widthIntegerIxtiyoriyGuruh: kenglik, px.
heightIntegerIxtiyoriyGuruh: balandlik, px.
durationIntegerIxtiyoriyGuruh: davomiylik, soniya (a'zo yuborgan videoda, ilova bergan bo'lsa).

Audio

Audio fayl. Maydonlari Document bilan bir xil (ijrochi, nom kabi maydonlar yo'q).

MaydonTuriMajburiyIzoh
file_idStringMajburiy
file_unique_idStringMajburiy
file_sizeIntegerMajburiy
mime_typeStringMajburiyMasalan audio/mpeg, audio/mp4.
file_nameStringIxtiyoriyShaxsiy chat.
durationIntegerIxtiyoriyGuruh: a'zo yuborgan audioda, ilova bergan bo'lsa.

Voice

Ovozli xabar (faqat guruhda, a'zo yuborganda). Yuklab olish β€” getFile.

MaydonTuriMajburiyIzoh
file_idStringMajburiy
file_unique_idStringMajburiy
file_sizeIntegerMajburiy
mime_typeStringMajburiyMasalan audio/mp4.
durationIntegerIxtiyoriyDavomiylik, soniya (yuboruvchi ilova bergan bo'lsa).

VideoNote

Dumaloq video xabar (faqat guruhda, a'zo yuborganda).

MaydonTuriMajburiyIzoh
file_idStringMajburiy
file_unique_idStringMajburiy
file_sizeIntegerMajburiy
lengthIntegerMajburiyVideo tomoni, px (bo'lmasa 0).
durationIntegerIxtiyoriyDavomiylik, soniya.

Contact

Foydalanuvchining o'z telefon raqami. Faqat bot request_contact tugmali reply klaviatura yuborganda va foydalanuvchi uni bosib, tasdiqlaganda keladi.

MaydonTuriMajburiyIzoh
phone_numberStringMajburiyTelefon raqam, masalan +998901234567.
first_nameStringMajburiy
last_nameStringIxtiyoriy
user_idIntegerMajburiyYuboruvchining psevdonim id'si (= from.id).
Misol
{
  "phone_number": "+998901234567",
  "first_name": "Ali",
  "last_name": "Valiyev",
  "user_id": 4810235517
}

Location

Faqat request_location tugmasi bosilib, foydalanuvchi tasdiqlaganda keladi. Bu bir martalik nuqta (jonli joylashuv emas).

MaydonTuriMajburiyIzoh
latitudeFloatMajburiy-90 … 90
longitudeFloatMajburiy-180 … 180
Misol
{"latitude": 41.311081, "longitude": 69.240562}

InlineKeyboardMarkup

Xabarga biriktiriladigan tugmalar. Cheklovlar: ≀12 qator, qatorda ≀8 tugma, jami ≀100; bo'sh qator bo'lmasin.

MaydonTuriMajburiyIzoh
inline_keyboardArray of Array of InlineKeyboardButtonMajburiyQatorlar.
Misol
{
  "inline_keyboard": [
    [
      {"text": "βœ… Ha", "callback_data": "yes"},
      {"text": "Sayt", "url": "https://example.com"}
    ]
  ]
}

InlineKeyboardButton

Inline tugma. callback_data, url va web_appdan aynan bittasi bo'lishi shart. Boshqa maydonlar (masalan, switch_inline_query) xato beradi.

MaydonTuriMajburiyIzoh
textStringMajburiy1–64 belgi (bosh/oxiridagi bo'shliqsiz).
callback_dataStringIxtiyoriy1–64 bayt (UTF-8). Bosilganda bot CallbackQuery oladi.
urlStringIxtiyoriy≀2048 belgi. Faqat http/https; zamin.app faqat https://zamin.app/<username>?start=… (qoidalar).
web_appWebAppInfoIxtiyoriy{"url": "https://…"}. Hozircha oddiy havola sifatida ochiladi (JS ko'prigi yo'q).

WebAppInfo

Kelajak uchun zahiralangan: hozircha ilova bu havolani ichki brauzerda ochadi.

MaydonTuriMajburiyIzoh
urlStringMajburiyFaqat https, URL qoidalariga mos.

ReplyKeyboardMarkup

Tizim klaviaturasi o'rnida ko'rsatiladigan tugmalar. U chatning faol klaviaturasiga aylanadi: almashtirilguncha yoki olib tashlanguncha turadi. Oddiy tugma bosilsa, uning matni oddiy xabar bo'lib keladi. Cheklovlar inline klaviatura bilan bir xil (kamida bitta qator).

MaydonTuriMajburiyIzoh
keyboardArray of Array of KeyboardButtonMajburiyTugma o'rniga oddiy matn (String) ham yozish mumkin.
resize_keyboardBooleanIxtiyoriyJoylashuv uchun ishora.
one_time_keyboardBooleanIxtiyoriytrue β€” foydalanuvchining keyingi xabaridan keyin klaviatura yo'qoladi.
is_persistentBooleanIxtiyoriySaqlanadi, ilovaga uzatiladi.
input_field_placeholderStringIxtiyoriy≀64 belgi.
selectiveBooleanIxtiyoriyQabul qilinadi, e'tiborga olinmaydi.
Misol
{
  "keyboard": [
    [{"text": "πŸ“± Raqamni yuborish", "request_contact": true}],
    [{"text": "πŸ“ Joylashuv", "request_location": true}, "Yordam"]
  ],
  "resize_keyboard": true,
  "one_time_keyboard": true
}

KeyboardButton

Reply klaviatura tugmasi. request_contact va request_location bir vaqtda bo'lmaydi. Ikkala holatda ham ilova foydalanuvchidan tasdiq so'raydi.

MaydonTuriMajburiyIzoh
textStringMajburiy1–64 belgi.
request_contactBooleanIxtiyoriyFoydalanuvchining o'z telefon raqamini so'raydi.
request_locationBooleanIxtiyoriyJoriy joylashuvni so'raydi.

ReplyKeyboardRemove

Faol reply klaviaturani olib tashlaydi.

MaydonTuriMajburiyIzoh
remove_keyboardBooleanMajburiyDoim true.
selectiveBooleanIxtiyoriyQabul qilinadi, e'tiborga olinmaydi.
Misol
{"remove_keyboard": true}

CallbackQuery

Inline tugma bosildi. Unga answerCallbackQuery bilan 60 soniya ichida javob bering. Server faqat haqiqatan shu xabar klaviaturasida bor callback_data'ni qabul qiladi.

Guruhda ham shunday: from β€” tugmani bosgan a'zo, message β€” botning guruhdagi xabari, javob faqat bosgan odamga ko'rinadi.

MaydonTuriMajburiyIzoh
idStringMajburiyJavob uchun id.
fromUserMajburiyTugmani bosgan foydalanuvchi.
messageMessageMajburiyTugmasi bosilgan bot xabari.
chat_instanceStringMajburiyChat uchun barqaror identifikator (raqamli matn).
dataStringMajburiyTugmaning callback_data'si.
Misol
{
  "id": "q7Lm2xYp9RtVb4Nw",
  "from": {
    "id": 4810235517,
    "is_bot": false,
    "first_name": "Ali",
    "last_name": "Valiyev",
    "username": "ali",
    "language_code": "uz"
  },
  "message": {
    "message_id": 14,
    "from": {
      "id": 1000001,
      "is_bot": true,
      "first_name": "Ob-havo",
      "username": "ObHavoBot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "chat": {
      "id": 4810235517,
      "type": "private",
      "first_name": "Ali",
      "last_name": "Valiyev",
      "username": "ali"
    },
    "date": 1791106200,
    "text": "Tasdiqlaysizmi?",
    "reply_markup": {
      "inline_keyboard": [[{"text": "βœ… Ha", "callback_data": "yes"}]]
    }
  },
  "chat_instance": "8150337712093445123",
  "data": "yes"
}

ChatMemberUpdated

Kimningdir chatdagi holati o'zgardi.

  • my_chat_member β€” botning o'zi: shaxsiy chatda foydalanuvchi botni boshladi, blokladi yoki qayta boshladi; guruh yoki kanalda botni qo'shishdi, admin qilishdi, huquqlarini o'zgartirishdi, adminlikdan olishdi yoki chiqarishdi.
  • chat_member β€” guruhdagi odam qo'shildi, chiqdi, chiqarildi yoki ban qilindi (faqat admin-botlarga va so'ralgan bo'lsa).
MaydonTuriMajburiyIzoh
chatChatMajburiy
fromUserMajburiyAmalni bajargan odam (yoki bot o'zi chiqqanda β€” botning o'zi).
dateIntegerMajburiyUnix soniya.
old_chat_memberChatMemberMajburiyAvvalgi holat.
new_chat_memberChatMemberMajburiyYangi holat.
Misol
{
  "chat": {"id": -4012345678, "type": "group", "title": "Dasturchilar"},
  "from": {
    "id": 4810235517,
    "is_bot": false,
    "first_name": "Ali",
    "last_name": "Valiyev",
    "username": "ali",
    "language_code": "uz"
  },
  "date": 1791106200,
  "old_chat_member": {
    "user": {
      "id": 1000001,
      "is_bot": true,
      "first_name": "Ob-havo",
      "username": "ObHavoBot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "status": "member"
  },
  "new_chat_member": {
    "user": {
      "id": 1000001,
      "is_bot": true,
      "first_name": "Ob-havo",
      "username": "ObHavoBot",
      "can_join_groups": true,
      "can_read_all_group_messages": false,
      "supports_inline_queries": false
    },
    "status": "administrator",
    "can_change_info": false,
    "can_delete_messages": true,
    "can_restrict_members": true,
    "can_invite_users": false,
    "can_pin_messages": true,
    "can_post_messages": false,
    "can_edit_messages": false,
    "can_promote_members": false,
    "can_manage_video_chats": false,
    "can_read_all_group_messages": false
  }
}

ChatMember

Kimningdir chatdagi holati. Shaxsiy chatda bu botning holati: birinchi Start β€” left β†’ member; bloklash yoki "To'xtatish" β€” member β†’ kicked; blokdan chiqarib qayta Start β€” kicked β†’ member.

Guruh va kanalda (getChatMember, getChatAdministrators, my_chat_member, chat_member) qo'shimcha holatlar va admin huquqlari keladi. Huquq maydonlari faqat administrator holatida bo'ladi. Kanal adminlarida (bot va odam) can_read_all_group_messages va can_manage_video_chats bo'lmaydi.

MaydonTuriMajburiyIzoh
userUserMajburiyOdam yoki bot (User (bot)).
statusStringMajburiycreator (ega), administrator, member, restricted (jim qilingan), left yoki kicked (shaxsiy chatda β€” bloklangan, guruhda β€” ban).
can_change_infoBooleanIxtiyoriyAdmin: nom va tavsifni o'zgartirish (setChatTitle, setChatDescription).
can_delete_messagesBooleanIxtiyoriyAdmin: boshqalarning xabarlarini o'chirish.
can_restrict_membersBooleanIxtiyoriyAdmin: ban, unban, jim qilish (ilovada "Foydalanuvchilarni cheklash").
can_invite_usersBooleanIxtiyoriyAdmin: a'zo qo'shish (Bot API'da bunga metod yo'q).
can_pin_messagesBooleanIxtiyoriyAdmin: xabar qadash.
can_post_messagesBooleanIxtiyoriyAdmin (kanal): post joylash.
can_edit_messagesBooleanIxtiyoriyAdmin (kanal): boshqalarning postlarini tahrirlash.
can_promote_membersBooleanIxtiyoriyAdmin: boshqalarni admin qilish ("Admin tayinlash"). Odam-adminlarda β€” haqiqiy qiymati; botlarda doim false (botlarga berilmaydi).
can_manage_video_chatsBooleanIxtiyoriyAdmin (guruh): qo'ng'iroqlarni boshqarish. Odam-adminlarda β€” haqiqiy qiymati; botlarda doim false.
can_read_all_group_messagesBooleanIxtiyoriyZamin'ga xos, guruhdagi admin-bot: haqiqiy holat β€” bot hozir guruhdagi barcha xabarlarni oladimi (bot admin va guruh egasi "Barcha xabarlarni o'qish" huquqini bergan). my_chat_member, getChatMember va getChatAdministrators'da bir xil.
custom_titleStringIxtiyoriyAdmin unvoni (faqat getChatAdministrators'da, berilgan bo'lsa).
is_memberBooleanIxtiyoriyrestricted: doim true.
can_send_messagesBooleanIxtiyoriyrestricted: doim false.
until_dateIntegerIxtiyoriyrestricted: cheklov tugash vaqti (Unix soniya); 0 β€” muddatsiz.
Misol
{
  "user": {
    "id": 5203318874,
    "is_bot": false,
    "first_name": "Vali",
    "username": "vali",
    "language_code": "uz"
  },
  "status": "restricted",
  "is_member": true,
  "can_send_messages": false,
  "until_date": 0
}

Update

Bitta yangilanish. Har birida update_id va quyidagilardan aynan bittasi bo'ladi.

MaydonTuriMajburiyIzoh
update_idIntegerMajburiyBot uchun o'sib boruvchi raqam. getUpdates'da offset uchun.
messageMessageIxtiyoriyYangi xabar: shaxsiy chatda β€” har bir xabar; guruhda β€” privacy mode ruxsat berganlari va xizmat xabarlari (new_chat_members, left_chat_member, new_chat_title); kanal izohlari chatida β€” yangi izohlar.
edited_messageMessageIxtiyoriyFoydalanuvchi xabarini tahrirladi (48 soat ichida). Guruhda β€” tahrirlangan matn ham privacy mode shartiga mos bo'lsa.
callback_queryCallbackQueryIxtiyoriyInline tugma bosildi (shaxsiy chat yoki guruh).
my_chat_memberChatMemberUpdatedIxtiyoriyBotning holati o'zgardi: boshlandi / bloklandi, guruh yoki kanalga qo'shildi, admin qilindi, chiqarildi.
chat_memberChatMemberUpdatedIxtiyoriyGuruhda odam qo'shildi, chiqdi, chiqarildi yoki ban qilindi. Faqat admin-botlarga va faqat allowed_updates'da "chat_member" aniq ko'rsatilgan bo'lsa.
channel_postMessageIxtiyoriyBot admin bo'lgan kanalda yangi post (botning o'z postlari kelmaydi).
edited_channel_postMessageIxtiyoriyKanal posti tahrirlandi.
Misol
{
  "update_id": 17,
  "message": {
    "message_id": 13,
    "from": {
      "id": 4810235517,
      "is_bot": false,
      "first_name": "Ali",
      "last_name": "Valiyev",
      "username": "ali",
      "language_code": "uz"
    },
    "chat": {
      "id": 4810235517,
      "type": "private",
      "first_name": "Ali",
      "last_name": "Valiyev",
      "username": "ali"
    },
    "date": 1791106200,
    "text": "/start promo_2026"
  }
}

BotCommand

Buyruqlar ro'yxatidagi bitta buyruq.

MaydonTuriMajburiyIzoh
commandStringMajburiy1–32 belgi: a-z 0-9 _ (kichik harf, /siz).
descriptionStringMajburiy1–256 belgi.
Misol
{"command": "start", "description": "Boshlash"}

WebhookInfo

getWebhookInfo javobi.

MaydonTuriMajburiyIzoh
urlStringMajburiyWebhook manzili; o'rnatilmagan bo'lsa bo'sh qator.
has_custom_certificateBooleanMajburiyDoim false.
pending_update_countIntegerMajburiyNavbatdagi yangilanishlar soni.
max_connectionsIntegerMajburiySaqlangan qiymat (standart 40).
last_error_dateIntegerIxtiyoriyOxirgi yetkazish xatosi vaqti.
last_error_messageStringIxtiyoriyMasalan Wrong response from the webhook: 502, Connection timed out, Connection failed.
allowed_updatesArray of StringIxtiyoriyFaqat filtr o'rnatilgan bo'lsa.

File

getFile javobi. Yuklab olish: https://api.zamin.app/file/bot<TOKEN>/<file_path>.

MaydonTuriMajburiyIzoh
file_idStringMajburiy
file_unique_idStringMajburiy
file_sizeIntegerMajburiyBayt.
file_pathStringMajburiyfiles/<file_id> ko'rinishida.