Метод verifyChat

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

Описание

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

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

Примеры

php

<?php

$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";

// Данные для метода verifyChat
$chatId = '@channelusername'; // или числовой ID чата
$customDescription = 'Официальный канал нашей организации'; // опционально

// Подготовка параметров
$params = [
    'chat_id' => $chatId,
];

// Добавляем опциональный параметр, если он задан и соответствует требованиям
if (!empty($customDescription) && mb_strlen($customDescription) <= 70) {
    $params['custom_description'] = $customDescription;
}

// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'verifyChat');
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); // для отладки, в продакшене лучше использовать true

$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 "Чат успешно верифицирован!";
    } else {
        echo "Ошибка: " . $responseData['description'];
    }
}

curl_close($ch);

// Альтернативный вариант с использованием file_get_contents (требует allow_url_fopen)
/*
$context = stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: application/x-www-form-urlencoded',
        'content' => http_build_query($params)
    ]
]);

$response = file_get_contents($apiUrl . 'verifyChat', false, $context);
$responseData = json_decode($response, true);

if ($responseData['ok']) {
    echo "Чат успешно верифицирован!";
} else {
    echo "Ошибка: " . $responseData['description'];
}
*/
?>

python

import requests

def verify_chat(bot_token, chat_id, custom_description=None):
    """
    Verifies a chat on behalf of the organization represented by the bot.
    
    Parameters:
    - bot_token: Your bot's token
    - chat_id: Unique identifier for the target chat or username of the target channel
    - custom_description: Custom description for verification (0-70 characters, optional)
    
    Returns:
    - True on success, raises exception on error
    """
    url = f"https://api.telegram.org/bot{bot_token}/verifyChat"
    
    payload = {
        "chat_id": chat_id
    }
    
    if custom_description:
        if len(custom_description) > 70:
            raise ValueError("Custom description must be 0-70 characters")
        payload["custom_description"] = custom_description
    
    response = requests.post(url, json=payload)
    response.raise_for_status()
    
    result = response.json()
    
    if result.get("ok"):
        return True
    else:
        raise Exception(f"Error: {result.get('description')}")

# Пример использования:
if __name__ == "__main__":
    # Замените на ваш токен бота
    BOT_TOKEN = "YOUR_BOT_TOKEN"
    
    # Пример 1: Верификация по ID чата
    try:
        result = verify_chat(BOT_TOKEN, chat_id=-1001234567890)
        print("Chat verified successfully!")
    except Exception as e:
        print(f"Error: {e}")
    
    # Пример 2: Верификация с кастомным описанием
    try:
        result = verify_chat(
            BOT_TOKEN,
            chat_id="@channelusername",
            custom_description="Verified by Our Organization"
        )
        print("Chat verified with custom description!")
    except Exception as e:
        print(f"Error: {e}")

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

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