Показывает, сколько ещё можно вступать: занятое из предела площадки, темп вступлений канала и время до следующего вступления. Вызывайте перед серией joinChat, чтобы не получать 429.
| Запрос | GET /waInstance{idInstance}/getJoinLimits/{apiTokenInstance} |
| Тело | нет |
| Каналы | Telegram, MAX |
Параметры
Нет.
Пример запроса
Узнать, можно ли вступать сейчас:
curl
curl "$GRATIO_URL/waInstance$GRATIO_ID/getJoinLimits/$GRATIO_TOKEN"
Python
import os
import requests
BASE = f"{os.environ['GRATIO_URL']}/waInstance{os.environ['GRATIO_ID']}"
TOKEN = os.environ["GRATIO_TOKEN"]
url = f"{BASE}/getJoinLimits/{TOKEN}"
response = requests.get(url, timeout=60)
print(response.status_code, response.json())
Node.js
const { GRATIO_URL, GRATIO_ID, GRATIO_TOKEN } = process.env;
const base = `${GRATIO_URL}/waInstance${GRATIO_ID}`;
const url = `${base}/getJoinLimits/${GRATIO_TOKEN}`;
const response = await fetch(url);
console.log(response.status, await response.json());
PHP
<?php
$base = getenv('GRATIO_URL') . '/waInstance' . getenv('GRATIO_ID');
$url = $base . '/getJoinLimits/' . getenv('GRATIO_TOKEN');
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 90,
]);
$response = json_decode(curl_exec($ch), true);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), PHP_EOL;
print_r($response);
Пример ответа
Ответ 200 OK в Telegram:
{
"joined": 120,
"limit": 500,
"joinsLastHour": 2,
"joinsLastDay": 9,
"joinsPerHour": 20,
"joinsPerDay": 40,
"joinGapSeconds": 60.0,
"nextJoinInSeconds": 0.0
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
joined |
integer | сколько групп и каналов у аккаунта. Telegram считает каналы и супергруппы — то, что идёт в его предел |
limit |
integer или null | предел площадки: Telegram — 500, с Premium — 1000. MAX предела не публикует — null |
joinsLastHour |
integer | вступлений за последний час |
joinsLastDay |
integer | вступлений за последние сутки |
joinsPerHour |
integer | сколько вступлений можно в час |
joinsPerDay |
integer | сколько вступлений можно в сутки |
joinGapSeconds |
number | наименьшая пауза между вступлениями, секунд |
nextJoinInSeconds |
number | через сколько секунд можно вступить; 0 — можно сейчас |
Ошибки
| Код | code |
Когда | Что делать |
|---|---|---|---|
400 |
not_authorized |
канал не на связи | проверить getStateInstance |
501 |
not_supported |
WhatsApp или почта | — |
Особенности каналов
- Telegram.
joinedиlimitпересчитываются не чаще раза в 10 минут; вступления через API учитываются сразу. Еслиjoinedдошёл доlimit, joinChat ответитchats_too_much. - MAX.
joined— группы и каналы из списка чатов аккаунта,limit—null.
Что дальше
- joinChat — вступить.
- leaveGroup — освободить место в пределе.
- Поиск и вступление: правила и лимиты — все лимиты.
