ZaminDocs

Chatlar

getChat

Chat haqida ma'lumot: shaxsiy chat, guruh yoki kanal.

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

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

Chatning Chat obyektini qaytaradi.

  • Shaxsiy chat: botni boshlagan va bloklamagan foydalanuvchi; bot faqat ismi, familiyasi va username'ini ko'radi.
  • Guruh (bot a'zo bo'lsa): title, ochiq guruhda username, description (bo'lsa) va permissions — oddiy a'zolar nima qila olishi (ChatPermissions).
  • Kanal (bot admin bo'lsa): title, ochiq kanalda username, description va izohlar yoqilgan bo'lsa linked_chat_id — izohlar chatining id'si.
  • Izohlar chati (linked_chat_id): type: "supergroup", title = kanal nomi + " — comments".

Foydalanuvchi qidirish yoki chat a'zolari ro'yxatini olish metodi yo'q.

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.

Javob

Natija (result): Chat

JSON
{
  "ok": true,
  "result": {
    "id": -4012345678,
    "type": "group",
    "title": "Dasturchilar",
    "description": "Python va Zamin botlari haqida savol-javob",
    "permissions": {
      "can_send_messages": true,
      "can_send_media_messages": true,
      "can_pin_messages": false,
      "can_change_info": false,
      "can_invite_users": true
    }
  }
}

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).

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

chat = requests.post(f"{API}/getChat", json={"chat_id": CHAT_ID}, timeout=15).json()["result"]
if chat["type"] == "private":
    print(chat["first_name"], chat.get("username", ""))
else:
    print(chat["type"], chat["title"], chat.get("permissions"))
curl
curl -s -X POST "https://api.zamin.app/bot$ZAMIN_BOT_TOKEN/getChat" \
  -H "Content-Type: application/json" \
  -d '{"chat_id": -4012345678}'