Описание
Используйте этот метод для получения текущего статуса вебхука. Не требует параметров. При успешном выполнении возвращает объект 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 - Метод для получения обновлений через длинный опрос с возможностью настройки параметров выборки.