Метод approveChatJoinRequest

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

Описание

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