Guruh boshqaruvi
banChatMember
Odamni guruhdan chetlatadi va qaytib kirishini taqiqlaydi (muddatsiz).
https://api.zamin.app/bot<TOKEN>/banChatMemberGET ham ishlaydi. Parametrlar: query, JSON, form yoki multipart β batafsil.
Odamni guruhdan chiqaradi (a'zo bo'lsa) va ban qiladi: u havola yoki taklif orqali qaytib kira olmaydi, toki unbanChatMember chaqirilmaguncha. Guruhda "chetlatildi" xizmat xabari chiqadi; botlar left_chat_member va (so'raganlar) chat_member β kicked oladi.
Botda can_restrict_members huquqi bo'lishi kerak. Guruh egasi va adminlarga qo'llanmaydi. Guruhdan allaqachon chiqqan odamni ham (bot uning id'sini bilsa) ban qilish mumkin. Faqat guruhlar uchun. Telegram'dagi eski nom kickChatMember ham ishlaydi.
Parametrlar
| Parametr | Turi | Majburiy | Cheklov | Izoh |
|---|---|---|---|---|
chat_id | Integer yoki String | Majburiy | manfiy id yoki @username | Bot a'zo bo'lgan guruh: manfiy id yoki ochiq guruhning @username'i. Kanal uchun ishlamaydi. |
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. |
until_date | Integer | Ixtiyoriy | β | Qabul qilinadi, lekin e'tiborga olinmaydi: ban doim muddatsiz. |
revoke_messages | Boolean | Ixtiyoriy | β | Qabul qilinadi, e'tiborga olinmaydi (xabarlar o'chirilmaydi). |
Javob
Natija (result): true
{"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: method is not available for channel chats | Bu metod faqat guruhlar uchun. |
| 400 | Bad Request: not enough rights to restrict/unrestrict chat member | Bot admin emas yoki unda "Foydalanuvchilarni cheklash" (can_restrict_members) huquqi yo'q. |
| 400 | Bad Request: user not found | user_id bot ko'rgan psevdonim id emas (yoki odam guruhda emas). |
| 400 | Bad Request: can't remove chat owner | Guruh egasiga admin amallari qo'llanmaydi. |
| 400 | Bad Request: user is an administrator of the chat | Adminlarga ham qo'llanmaydi. |
| 400 | Bad Request: can't restrict self | user_id β botning o'zi. |
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 # spam yozgan odamning message.from.id
r = requests.post(f"{API}/banChatMember", json={"chat_id": GROUP_ID, "user_id": USER_ID}, timeout=15)
print(r.json())curl -s -X POST "https://api.zamin.app/bot$ZAMIN_BOT_TOKEN/banChatMember" \
-H "Content-Type: application/json" \
-d '{"chat_id": -4012345678, "user_id": 5203318874}'