Описание
Используйте этот метод для одобрения запроса на вступление в чат. Бот должен быть администратором в чате для работы этого метода и иметь право администратора can_invite_users. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Целое число или Строка | Да | Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername) |
| user_id | Целое число | Да | Уникальный идентификатор целевого пользователя |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Данные для запроса
$chatId = -1001234567890; // ID чата или канала (можно использовать строку для юзернейма)
$userId = 123456789; // ID пользователя, чью заявку нужно одобрить
// Подготовка данных
$data = [
'chat_id' => $chatId,
'user_id' => $userId
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'approveChatJoinRequest');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Для локального тестирования
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
echo 'Ошибка cURL: ' . curl_error($ch);
} else {
$responseData = json_decode($response, true);
if ($responseData['ok']) {
echo "Заявка пользователя {$userId} одобрена успешно!";
} else {
echo "Ошибка: " . $responseData['description'];
}
}
curl_close($ch);
// Альтернативный вариант с использованием file_get_contents
/*
$url = $apiUrl . 'approveChatJoinRequest?' . http_build_query($data);
$response = file_get_contents($url);
$result = json_decode($response, true);
if ($result['ok']) {
echo "Заявка одобрена!";
} else {
echo "Ошибка: " . $result['description'];
}
*/
?>
python
import requests
def approve_chat_join_request(bot_token, chat_id, user_id):
"""
Approves a chat join request.
Args:
bot_token (str): Your bot's token
chat_id (int or str): Unique identifier for the target chat or username
of the target channel (in the format @channelusername)
user_id (int): Unique identifier of the target user
Returns:
bool: True on success, False otherwise
"""
url = f"https://api.telegram.org/bot{bot_token}/approveChatJoinRequest"
params = {
'chat_id': chat_id,
'user_id': user_id
}
try:
response = requests.post(url, json=params)
response_data = response.json()
if response_data.get('ok'):
return True
else:
print(f"Error: {response_data.get('description')}")
return False
except Exception as e:
print(f"Exception occurred: {e}")
return False
# Пример использования:
if __name__ == "__main__":
# Замените эти значения на реальные
BOT_TOKEN = "YOUR_BOT_TOKEN"
CHAT_ID = -1001234567890 # или "@channelusername"
USER_ID = 123456789
# Одобряем запрос на вступление
result = approve_chat_join_request(BOT_TOKEN, CHAT_ID, USER_ID)
if result:
print("Запрос на вступление успешно одобрен!")
else:
print("Не удалось одобрить запрос на вступление.")
История изменений
- API 5.4. Добавлен метод approveChatJoinRequest