ZaminDocs

Xabarlar

editMessageReplyMarkup

Bot xabaridagi inline klaviaturani almashtiradi yoki olib tashlaydi.

POSThttps://api.zamin.app/bot<TOKEN>/editMessageReplyMarkup

GET ham ishlaydi. Parametrlar: query, JSON, form yoki multipart — batafsil.

Faqat inline klaviaturani o'zgartiradi, matnga tegmaydi. Botning o'z xabarlari (matn yoki fayl), yuborilganidan keyin 48 soat ichida. reply_markup berilmasa, klaviatura olib tashlanadi.

Guruhda ham xuddi shunday (botning o'z xabarlari). Kanal postlarida tugma bo'lmaydi: 400 channel posts can't have buttons.

Parametrlar

ParametrTuriMajburiyCheklovIzoh
chat_idInteger yoki StringMajburiy≤16 raqam (manfiy ham) yoki @usernameShaxsiy chat: foydalanuvchining id'si (message.chat.id), faqat botni boshlagan va bloklamagan bo'lsa. Guruh yoki kanal: manfiy id (-4012345678, -100…) yoki bot a'zo bo'lgan ochiq chatning @username'i. Chat id'lari.
message_idIntegerMajburiy—Shu chatdagi xabar raqami.
reply_markupInlineKeyboardMarkupIxtiyoriy≤12 qator, qatorda ≤8, jami ≤100Berilmasa, klaviatura o'chadi.

Javob

Natija (result): Message

JSON
{
  "ok": true,
  "result": {
    "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,
    "edit_date": 1791106290,
    "text": "Salom! Bugun Toshkentda +24°C ☀️"
  }
}

Xatolar

KodTavsifSabab va yechim
400Bad Request: chat not foundchat_id noto'g'ri, foydalanuvchi botni boshlamagan, bloklagan yoki hisobi o'chirilgan. Hammasi uchun javob bir xil (atayin).
400Bad Request: message to edit not foundBunday xabar yo'q yoki o'chirilgan.
400Bad Request: message can't be editedXabar botniki emas yoki 48 soatdan eski.
400Bad Request: message is not modifiedKlaviatura avvalgidek.
400Bad Request: reply_markup…Klaviatura cheklovlarga mos emas (tugma matni 1–64, callback_data ≤64 bayt, ruxsat etilmagan URL va h.k.).
400Bad Request: channel posts can't have buttonsKanal postlarida klaviatura yo'q.
429Too Many Requests: retry after NBitta guruh yoki kanalga daqiqasiga 20 ta xabar, bot bo'yicha soniyasiga 30 ta yoki guruhda shifrlash byudjeti (1 000 qurilma/s bot, 1 500/s bot egasi, 5 000/s umumiy). Rad etilgan so'rov hech narsa qilmagan: retry_after soniya kutib, qayta yuboring.

Istalgan metodda bo'lishi mumkin: 401 Unauthorized, 403 Forbidden: bot is suspended, 429 Too Many Requests, 400 Bad Request: <maydon>: … — xato kodlari.

Misol

Python
import os
import requests

TOKEN = os.environ["ZAMIN_BOT_TOKEN"]
API = f"https://api.zamin.app/bot{TOKEN}"
CHAT_ID = int(os.environ["ZAMIN_CHAT_ID"])  # getUpdates javobidagi message.chat.id

MESSAGE_ID = 14

# Klaviaturani olib tashlash: reply_markup'ni yubormang
r = requests.post(
    f"{API}/editMessageReplyMarkup",
    json={"chat_id": CHAT_ID, "message_id": MESSAGE_ID},
    timeout=15,
)
print(r.json())
curl
curl -s -X POST "https://api.zamin.app/bot$ZAMIN_BOT_TOKEN/editMessageReplyMarkup" \
  -H "Content-Type: application/json" \
  -d '{"chat_id": 4810235517, "message_id": 14}'