ZaminDocs

Chatlar

getChatMember

Guruhdagi bitta odamning holati (ega, admin, a'zo, jim qilingan, chiqqan, chetlatilgan); kanalda — faqat bot, ega va adminlar.

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

GET 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

ParametrTuriMajburiyCheklovIzoh
chat_idInteger yoki StringMajburiymanfiy id yoki @usernameBot 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_idIntegerMajburiy—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

JSON
{
  "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

KodTavsifSabab va yechim
400Bad Request: chat not foundBunday chat yo'q, bot unda a'zo emas yoki bu shaxsiy chat id'si. Hammasi uchun javob bir xil (atayin).
400Bad Request: user not founduser_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

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"])
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
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}'