Описание
Простой метод для проверки токена аутентификации вашего бота. Не требует параметров. Возвращает основную информацию о боте в виде объекта User.
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN_HERE';
$apiUrl = "https://api.telegram.org/bot{$botToken}/getMe";
// Вариант 1: Использование file_get_contents
$response = file_get_contents($apiUrl);
$result = json_decode($response, true);
if ($result['ok']) {
$botInfo = $result['result'];
echo "Bot ID: " . $botInfo['id'] . "\n";
echo "Bot Username: @" . $botInfo['username'] . "\n";
echo "First Name: " . $botInfo['first_name'] . "\n";
echo "Can Join Groups: " . ($botInfo['can_join_groups'] ? 'Yes' : 'No') . "\n";
echo "Can Read Messages: " . ($botInfo['can_read_all_group_messages'] ? 'Yes' : 'No') . "\n";
echo "Supports Inline: " . ($botInfo['supports_inline_queries'] ? 'Yes' : 'No') . "\n";
} else {
echo "Error: " . $result['description'];
}
// Вариант 2: Использование cURL (более надежный)
function getBotInfo($token) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.telegram.org/bot{$token}/getMe");
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);
}
// Пример использования cURL варианта
$botData = getBotInfo($botToken);
if ($botData['ok']) {
echo "\n--- cURL Result ---\n";
echo "Bot Username: @" . $botData['result']['username'] . "\n";
echo "Bot Name: " . $botData['result']['first_name'] . "\n";
// Проверка, является ли бот премиум
if (isset($botData['result']['is_premium'])) {
echo "Premium Bot: " . ($botData['result']['is_premium'] ? 'Yes' : 'No') . "\n";
}
// Проверка, может ли бот добавлять веб-превью
if (isset($botData['result']['added_to_attachment_menu'])) {
echo "Added to Attachment Menu: " .
($botData['result']['added_to_attachment_menu'] ? 'Yes' : 'No') . "\n";
}
} else {
echo "Authentication failed. Check your bot token.";
}
// Вариант 3: Использование класса (более структурированный подход)
class TelegramBot {
private $token;
private $apiUrl;
public function __construct($token) {
$this->token = $token;
$this->apiUrl = "https://api.telegram.org/bot{$token}/";
}
public function getMe() {
$url = $this->apiUrl . "getMe";
$response = file_get_contents($url);
return json_decode($response, true);
}
public function getBotUsername() {
$data = $this->getMe();
return $data['ok'] ? $data['result']['username'] : null;
}
public function getBotId() {
$data = $this->getMe();
return $data['ok'] ? $data['result']['id'] : null;
}
}
// Пример использования класса
$bot = new TelegramBot($botToken);
$botInfo = $bot->getMe();
if ($botInfo['ok']) {
echo "\n--- Class Result ---\n";
echo "Bot ID from class: " . $bot->getBotId() . "\n";
echo "Username from class: @" . $bot->getBotUsername() . "\n";
// Дополнительная информация
$user = $botInfo['result'];
echo "Language Code: " . ($user['language_code'] ?? 'Not specified') . "\n";
// Проверка возможности
echo "Can Connect to Business: " .
(isset($user['can_connect_to_business']) && $user['can_connect_to_business'] ? 'Yes' : 'No') . "\n";
}
?>
python
import requests
def get_me(bot_token):
"""
Получить информацию о боте
Args:
bot_token (str): Токен вашего бота
Returns:
dict: Информация о боте в формате JSON
"""
url = f"https://api.telegram.org/bot{bot_token}/getMe"
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_me(BOT_TOKEN)
if result and result.get("ok"):
bot_info = result["result"]
print(f"ID бота: {bot_info['id']}")
print(f"Имя бота: {bot_info['first_name']}")
print(f"Username: @{bot_info.get('username', 'не указан')}")
print(f"Поддерживает inline-режим: {bot_info.get('supports_inline_queries', False)}")
else:
print(f"Ошибка: {result.get('description', 'Неизвестная ошибка')}")
Дополнительно
- User - Объект, представляющий пользователя или бота Telegram с основной информацией и настройками.