Метод getWebhookInfo

Метод для получения текущего статуса вебхука бота.

Описание

Используйте этот метод для получения текущего статуса вебхука. Не требует параметров. При успешном выполнении возвращает объект WebhookInfo. Если бот использует getUpdates, вернёт объект с пустым полем url.

Примеры

php

<?php

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

// Отправка запроса
$response = file_get_contents($apiUrl);
$result = json_decode($response, true);

// Проверка результата
if ($result['ok']) {
    $webhookInfo = $result['result'];
    
    echo "Webhook URL: " . ($webhookInfo['url'] ?: 'Not set') . "\n";
    echo "Has custom certificate: " . ($webhookInfo['has_custom_certificate'] ? 'Yes' : 'No') . "\n";
    echo "Pending update count: " . $webhookInfo['pending_update_count'] . "\n";
    
    if (isset($webhookInfo['last_error_date'])) {
        echo "Last error date: " . date('Y-m-d H:i:s', $webhookInfo['last_error_date']) . "\n";
        echo "Last error message: " . $webhookInfo['last_error_message'] . "\n";
    }
    
    if (isset($webhookInfo['max_connections'])) {
        echo "Max connections: " . $webhookInfo['max_connections'] . "\n";
    }
    
    if (isset($webhookInfo['allowed_updates'])) {
        echo "Allowed updates: " . implode(', ', $webhookInfo['allowed_updates']) . "\n";
    }
} else {
    echo "Error: " . $result['description'] . "\n";
}

// Альтернативный вариант с cURL
function getWebhookInfo($botToken) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://api.telegram.org/bot{$botToken}/getWebhookInfo");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    $response = curl_exec($ch);
    curl_close($ch);
    
    return json_decode($response, true);
}

// Использование функции
$webhookData = getWebhookInfo($botToken);
if ($webhookData['ok']) {
    var_dump($webhookData['result']);
}

python

import requests

def get_webhook_info(bot_token):
    """
    Получает информацию о текущем вебхуке бота.
    
    Args:
        bot_token (str): Токен вашего бота
    
    Returns:
        dict: Информация о вебхуке в формате JSON
    """
    url = f"https://api.telegram.org/bot{bot_token}/getWebhookInfo"
    
    try:
        response = requests.get(url)
        response.raise_for_status()
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"Ошибка при запросе: {e}")
        return None

# Пример использования
if __name__ == "__main__":
    # Замените 'YOUR_BOT_TOKEN' на реальный токен вашего бота
    BOT_TOKEN = "YOUR_BOT_TOKEN"
    
    result = get_webhook_info(BOT_TOKEN)
    
    if result and result.get("ok"):
        webhook_info = result.get("result", {})
        
        print("Информация о вебхуке:")
        print(f"URL: {webhook_info.get('url', 'Не установлен')}")
        print(f"Имеет SSL сертификат: {webhook_info.get('has_custom_certificate', False)}")
        print(f"Ожидающих обновлений: {webhook_info.get('pending_update_count', 0)}")
        
        if webhook_info.get('last_error_date'):
            print(f"Дата последней ошибки: {webhook_info.get('last_error_date')}")
            print(f"Сообщение последней ошибки: {webhook_info.get('last_error_message', 'Нет')}")
        
        if webhook_info.get('max_connections'):
            print(f"Максимальное количество соединений: {webhook_info.get('max_connections')}")
        
        if webhook_info.get('allowed_updates'):
            print(f"Разрешенные типы обновлений: {webhook_info.get('allowed_updates')}")
    else:
        print(f"Ошибка: {result}")

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

  • API 2.2.. Добавлен метод getWebhookInfo

Дополнительно

  • WebhookInfo - Объект, содержащий информацию о текущем состоянии и конфигурации вебхука бота.
  • getUpdates - Метод для получения обновлений через длинный опрос с возможностью настройки параметров выборки.
Комментарии