Метод declineChatJoinRequest

Метод отклоняет запрос пользователя на вступление в чат, если бот является администратором с соответствующими правами.

Описание

Используйте этот метод, чтобы отклонить запрос на вступление в чат. Бот должен быть администратором в чате для работы этого метода и иметь право администратора 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
Комментарии