Guruh boshqaruvi
pinChatMessage
Guruh yoki kanalda xabarni qadaydi.
POST
https://api.zamin.app/bot<TOKEN>/pinChatMessageGET ham ishlaydi. Parametrlar: query, JSON, form yoki multipart β batafsil.
Xabarni chat tepasiga qadaydi (oldingi qadalgan xabar almashtiriladi).
- Guruh: bot admin bo'lishi va unda
can_pin_messageshuquqi bo'lishi kerak β guruh oddiy a'zolarga qadashga ruxsat bergan bo'lsa ham. Qadash ilovadagidek shifrlangan "qadaldi" voqeasi sifatida yuboriladi va guruh limitiga (daqiqasiga 20) kiradi. Xizmat xabarini qadab bo'lmaydi. - Kanal:
can_pin_messageshuquqi kerak;message_idβ post raqami.
Parametrlar
| Parametr | Turi | Majburiy | Cheklov | Izoh |
|---|---|---|---|---|
chat_id | Integer yoki String | Majburiy | manfiy id yoki @username | Bot a'zo bo'lgan guruh yoki kanal: manfiy id (message.chat.id) yoki ochiq chatning @username'i. Shaxsiy chat id'si β chat not found. |
message_id | Integer | Majburiy | β | Shu chatdagi xabar raqami. |
disable_notification | Boolean | Ixtiyoriy | β | Qabul qilinadi, e'tiborga olinmaydi. |
Javob
Natija (result): true
JSON
{"ok": true, "result": true}Xatolar
| Kod | Tavsif | Sabab va yechim |
|---|---|---|
| 400 | Bad Request: chat not found | Bunday chat yo'q, bot unda a'zo emas yoki bu shaxsiy chat id'si. Hammasi uchun javob bir xil (atayin). |
| 400 | Bad Request: not enough rights to manage pinned messages in the chat | Bot admin emas yoki unda can_pin_messages yo'q. |
| 400 | Bad Request: message to pin not found | Bunday xabar yo'q, o'chirilgan, xizmat xabari yoki bot guruhga qo'shilishidan oldin yozilgan. |
| 400 | Bad Request: method is not available for this chat | Kanal izohlari chatida (supergroup) bu amal yo'q: bot izoh yoza olmaydi, izohlar chatini boshqarmaydi. |
| 429 | Too Many Requests: retry after N | Bitta 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}"
GROUP_ID = int(os.environ["ZAMIN_GROUP_ID"])
sent = requests.post(f"{API}/sendMessage", json={"chat_id": GROUP_ID, "text": "π Ertaga uchrashuv soat 10:00 da"}, timeout=15).json()
r = requests.post(
f"{API}/pinChatMessage",
json={"chat_id": GROUP_ID, "message_id": sent["result"]["message_id"]},
timeout=15,
)
print(r.json())curl
curl -s -X POST "https://api.zamin.app/bot$ZAMIN_BOT_TOKEN/pinChatMessage" \
-H "Content-Type: application/json" \
-d '{"chat_id": -4012345678, "message_id": 812}'