Chatlar
getChatMember
Guruhdagi bitta odamning holati (ega, admin, a'zo, jim qilingan, chiqqan, chetlatilgan); kanalda — faqat bot, ega va adminlar.
https://api.zamin.app/bot<TOKEN>/getChatMemberGET ham ishlaydi. Parametrlar: query, JSON, form yoki multipart — batafsil.
Guruh a'zosining ChatMember obyektini qaytaradi. status:
creator— guruh egasi;administrator— admin (huquqlari bilan);member— oddiy a'zo;restricted— jim qilingan:can_send_messages: false,until_date(0 — muddatsiz),is_member: true;left— guruhda emas;kicked— chetlatilgan (ban).
user_id sifatida botning o'z id'sini (getMe'dagi id) bersangiz, bot o'z holati va huquqlarini oladi (can_read_all_group_messages — haqiqiy holat). Odam-adminlarda can_promote_members va can_manage_video_chats haqiqiy qiymati bilan keladi.
Kanalda (yoki uning izohlar chatida) faqat botning o'zi, kanal egasi (creator) va adminlar (administrator) uchun ishlaydi. Boshqa har kim uchun — user not found: Zamin botga kim kanalga obuna ekanini aytmaydi.
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. |
user_id | Integer | Majburiy | — | Bot ko'rgan psevdonim id (message.from.id, new_chat_members[].id …). Bot hali ko'rmagan odamning id'si — user not found. |
Javob
Natija (result): ChatMember
{
"ok": true,
"result": {
"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": 1791106800
}
}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: user not found | user_id bot ko'rgan psevdonim id emas; kanalda — odam kanal egasi yoki admini emas. |
Istalgan metodda bo'lishi mumkin: 401 Unauthorized, 403 Forbidden: bot is suspended, 429 Too Many Requests, 400 Bad Request: <maydon>: … — xato kodlari.
Misol
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"])
USER_ID = 5203318874 # message.from.id
member = requests.post(
f"{API}/getChatMember",
json={"chat_id": GROUP_ID, "user_id": USER_ID},
timeout=15,
).json()["result"]
print(member["status"])
# Botning o'z huquqlari:
me = requests.get(f"{API}/getMe", timeout=15).json()["result"]
mine = requests.post(f"{API}/getChatMember", json={"chat_id": GROUP_ID, "user_id": me["id"]}, timeout=15).json()["result"]
print("O'chira olamanmi:", mine.get("can_delete_messages", False))curl -s -X POST "https://api.zamin.app/bot$ZAMIN_BOT_TOKEN/getChatMember" \
-H "Content-Type: application/json" \
-d '{"chat_id": -4012345678, "user_id": 5203318874}'