Метод verifyUser

Метод верифицирует пользователя от имени организации, которую представляет бот, с возможностью указания пользовательского описания.

Описание

Верифицирует пользователя от имени организации, которую представляет бот. Возвращает True при успешном выполнении.

Параметр Тип Обязательный Описание
user_id Integer Да Уникальный идентификатор целевого пользователя
custom_description String Опционально Пользовательское описание для верификации; 0-70 символов. Должно быть пустым, если организации не разрешено предоставлять пользовательское описание верификации.

Примеры

php

<?php

// Токен вашего бота
$botToken = 'ВАШ_ТОКЕН_БОТА';

// ID пользователя для верификации
$userId = 123456789;

// Опциональное описание верификации
$customDescription = 'Verified by Example Organization';

// URL API Telegram
$apiUrl = "https://api.telegram.org/bot{$botToken}/verifyUser";

// Подготовка данных
$data = [
    'user_id' => $userId,
];

// Добавляем описание, если оно указано и не пустое
if (!empty($customDescription)) {
    $data['custom_description'] = $customDescription;
}

// Настройка cURL запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

// Выполнение запроса
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// Проверка на ошибки cURL
if (curl_errno($ch)) {
    echo 'Ошибка cURL: ' . curl_error($ch);
    curl_close($ch);
    exit;
}

curl_close($ch);

// Обработка ответа
if ($httpCode === 200) {
    $result = json_decode($response, true);
    
    if ($result['ok'] === true) {
        echo "Пользователь успешно верифицирован!\n";
        // Дополнительная обработка успешного результата
    } else {
        echo "Ошибка API: " . ($result['description'] ?? 'Неизвестная ошибка') . "\n";
    }
} else {
    echo "HTTP ошибка: {$httpCode}\n";
    echo "Ответ сервера: {$response}\n";
}

// Альтернативный вариант с использованием file_get_contents (требует allow_url_fopen)
/*
$context = stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => "Content-Type: application/json\r\n",
        'content' => json_encode($data),
    ],
]);

$response = file_get_contents($apiUrl, false, $context);
if ($response !== false) {
    $result = json_decode($response, true);
    var_dump($result);
}
*/

?>

python

import requests

def verify_user(bot_token, user_id, custom_description=None):
    """
    Verifies a user on behalf of the organization represented by the bot.
    
    Args:
        bot_token (str): Telegram Bot API token
        user_id (int): Unique identifier of the target user
        custom_description (str, optional): Custom description for verification (0-70 characters)
    
    Returns:
        bool: True if successful, False otherwise
    """
    url = f"https://api.telegram.org/bot{bot_token}/verifyUser"
    
    payload = {
        "user_id": user_id
    }
    
    if custom_description:
        if len(custom_description) > 70:
            raise ValueError("custom_description must be 0-70 characters")
        payload["custom_description"] = custom_description
    
    try:
        response = requests.post(url, json=payload)
        response.raise_for_status()
        result = response.json()
        
        if result.get("ok"):
            return True
        else:
            print(f"Error: {result.get('description')}")
            return False
            
    except requests.exceptions.RequestException as e:
        print(f"Request failed: {e}")
        return False
    except ValueError as e:
        print(f"JSON decode error: {e}")
        return False

# Пример использования
if __name__ == "__main__":
    BOT_TOKEN = "YOUR_BOT_TOKEN"
    USER_ID = 123456789
    
    # Вариант 1: Без кастомного описания
    success = verify_user(BOT_TOKEN, USER_ID)
    print(f"Verification without custom description: {success}")
    
    # Вариант 2: С кастомным описанием
    success = verify_user(
        BOT_TOKEN, 
        USER_ID, 
        custom_description="Verified by Our Organization"
    )
    print(f"Verification with custom description: {success}")

История изменений

  • API 8.2. Добавлен метод verifyUser
Комментарии