Описание
Используйте этот метод, чтобы отклонить запрос на вступление в чат. Бот должен быть администратором в чате для работы этого метода и иметь право администратора 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 пользователя, чей запрос отклоняем
// Подготовка параметров
$params = [
'chat_id' => $chatId,
'user_id' => $userId
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'declineChatJoinRequest');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Для локального тестирования
$response = curl_exec($ch);
curl_close($ch);
// Обработка ответа
$result = json_decode($response, true);
if ($result['ok']) {
echo "Запрос на вступление успешно отклонен!\n";
} else {
echo "Ошибка: " . $result['description'] . "\n";
}
// Альтернативный вариант с использованием file_get_contents
function declineJoinRequest($chatId, $userId) {
global $botToken;
$url = "https://api.telegram.org/bot{$botToken}/declineChatJoinRequest";
$data = http_build_query([
'chat_id' => $chatId,
'user_id' => $userId
]);
$options = [
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $data
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return json_decode($result, true);
}
// Пример использования функции
$chatId2 = '@channelusername'; // Можно использовать username канала
$userId2 = 987654321;
$response2 = declineJoinRequest($chatId2, $userId2);
if ($response2['ok']) {
echo "Второй запрос также успешно отклонен!\n";
print_r($response2);
}
?>
python
import requests
def decline_chat_join_request(bot_token, chat_id, user_id):
"""
Отклоняет запрос на вступление в чат.
Args:
bot_token (str): Токен вашего бота
chat_id (int or str): ID чата или username канала
user_id (int): ID пользователя
Returns:
bool: True в случае успеха
"""
url = f"https://api.telegram.org/bot{bot_token}/declineChatJoinRequest"
params = {
"chat_id": chat_id,
"user_id": user_id
}
response = requests.post(url, json=params)
result = response.json()
if result.get("ok"):
return True
else:
raise Exception(f"Ошибка: {result.get('description')}")
# Пример использования
if __name__ == "__main__":
BOT_TOKEN = "ВАШ_ТОКЕН_БОТА"
CHAT_ID = -1001234567890 # ID чата или "@channelusername"
USER_ID = 123456789 # ID пользователя, чей запрос отклоняем
try:
success = decline_chat_join_request(BOT_TOKEN, CHAT_ID, USER_ID)
print(f"Запрос отклонен: {success}")
except Exception as e:
print(f"Ошибка: {e}")
История изменений
- API 5.4. Добавлен метод declineChatJoinRequest