ZaminDocs

Xabarlar

editMessageText

Botning o'z matnli xabarini (yoki kanal postini) tahrirlaydi.

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

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

Bot yuborgan matnli xabarning matnini (va inline klaviaturasini) o'zgartiradi. Faqat botning o'z xabarlari va faqat yuborilganidan keyin 48 soat ichida.

Telegram'dagidek: reply_markup berilmasa, xabardagi inline klaviatura olib tashlanadi. Klaviaturani saqlab qolish uchun uni qayta yuboring.

Guruh va kanalda

  • Guruh: faqat botning o'z xabarlari, 48 soat ichida. Fayl xabarida text uning izohini (caption) almashtiradi. Tahrir hamma a'zolar uchun qayta shifrlanadi va guruh limitiga (daqiqasiga 20) kiradi.
  • Kanal: botning o'z postlari, boshqa postlar esa can_edit_messages huquqi bilan. Fayl postida text — izoh (≤1024). Yangi matn odamlarning postlari kabi kontent filtridan o'tadi. Postlarda tugma yo'q, shuning uchun reply_markup e'tiborga olinmaydi.

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.
textStringMajburiy1–4096 belgiYangi matn.
reply_markupInlineKeyboardMarkupIxtiyoriy≤12 qator, qatorda ≤8, jami ≤100Faqat inline klaviatura. Berilmasa, 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": 1791106260,
    "text": "Yangilandi: +25°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: there is no text in the message to editFayl xabarini tahrirlab bo'lmaydi (caption tahrirlash metodi yo'q).
400Bad Request: message is not modifiedMatn ham, klaviatura ham avvalgidek.
400Bad Request: inline messages are not supportedinline_message_id qo'llab-quvvatlanmaydi.
400Bad Request: reply_markup…Klaviatura cheklovlarga mos emas (tugma matni 1–64, callback_data ≤64 bayt, ruxsat etilmagan URL va h.k.).
400Bad Request: not enough rights to edit messages in the chatKanal: post botniki emas va botda can_edit_messages yo'q.
400Bad Request: &lt;sabab&gt;Kanal: post (yoki tahrir) matni kontent filtridan o'tmadi — odamlarning postlaridagi qoidalar bilan bir xil.
400Bad Request: method is not available for this chatKanal izohlari chatida (supergroup) bu amal yo'q: bot izoh yoza olmaydi, izohlar chatini boshqarmaydi.
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  # sendMessage javobidagi result.message_id

r = requests.post(
    f"{API}/editMessageText",
    json={"chat_id": CHAT_ID, "message_id": MESSAGE_ID, "text": "Yangilandi: +25°C 🌤"},
    timeout=15,
)
print(r.json())
curl
curl -s -X POST "https://api.zamin.app/bot$ZAMIN_BOT_TOKEN/editMessageText" \
  -H "Content-Type: application/json" \
  -d '{
  "chat_id": 4810235517,
  "message_id": 14,
  "text": "Yangilandi: +25°C 🌤"
}'