Описание
Используйте этот метод, чтобы получить текущее описание бота для указанного языка пользователя. При успешном выполнении возвращает BotDescription.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| language_code | String | Необязательный | Двухбуквенный код языка ISO 639-1 или пустая строка |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Пример 1: Получить описание бота для языка по умолчанию
$response1 = file_get_contents($apiUrl . 'getMyDescription');
$result1 = json_decode($response1, true);
if ($result1['ok']) {
echo "Описание бота (по умолчанию): " . $result1['result']['description'] . "\n";
} else {
echo "Ошибка: " . $result1['description'] . "\n";
}
// Пример 2: Получить описание бота для конкретного языка (например, русский)
$params2 = [
'language_code' => 'ru'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'getMyDescription');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params2));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response2 = curl_exec($ch);
curl_close($ch);
$result2 = json_decode($response2, true);
if ($result2['ok']) {
echo "Описание бота (русский): " . $result2['result']['description'] . "\n";
} else {
echo "Ошибка для языка 'ru': " . $result2['description'] . "\n";
}
// Пример 3: Использование с библиотекой (например, TelegramBotPHP)
function getBotDescription($languageCode = null) {
global $apiUrl;
$url = $apiUrl . 'getMyDescription';
if ($languageCode !== null) {
$data = ['language_code' => $languageCode];
$options = [
'http' => [
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data),
],
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
} else {
$response = file_get_contents($url);
}
return json_decode($response, true);
}
// Использование функции
$descriptionEn = getBotDescription('en');
if ($descriptionEn['ok']) {
echo "English description: " . $descriptionEn['result']['description'] . "\n";
}
// Пример 4: Полная обработка с проверками
function getBotDescriptionSafe($botToken, $languageCode = '') {
$url = "https://api.telegram.org/bot{$botToken}/getMyDescription";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if (!empty($languageCode)) {
$data = ['language_code' => $languageCode];
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
}
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 200) {
return ['ok' => false, 'error' => "HTTP error: {$httpCode}"];
}
$result = json_decode($response, true);
if (json_last_error() !== JSON_ERROR_NONE) {
return ['ok' => false, 'error' => 'JSON decode error'];
}
return $result;
}
// Использование безопасной функции
$botDescription = getBotDescriptionSafe($botToken, 'es');
if ($botDescription['ok']) {
echo "Descripción del bot (español): " . $botDescription['result']['description'] . "\n";
} else {
echo "Error: " . ($botDescription['error'] ?? $botDescription['description']) . "\n";
}
?>
python
import requests
def get_my_description(token, language_code=None):
"""
Получает текущее описание бота для указанного языка пользователя.
Args:
token (str): Токен бота
language_code (str, optional): Двухбуквенный код языка ISO 639-1. По умолчанию None.
Returns:
dict: Ответ от Telegram API с описанием бота
"""
url = f"https://api.telegram.org/bot{token}/getMyDescription"
params = {}
if language_code:
params['language_code'] = language_code
response = requests.post(url, params=params)
return response.json()
# Пример использования
if __name__ == "__main__":
# Замените 'YOUR_BOT_TOKEN' на реальный токен вашего бота
BOT_TOKEN = "YOUR_BOT_TOKEN"
# Получение описания бота для английского языка
result_en = get_my_description(BOT_TOKEN, language_code="en")
print("Описание на английском:", result_en)
# Получение описания бота для русского языка
result_ru = get_my_description(BOT_TOKEN, language_code="ru")
print("Описание на русском:", result_ru)
# Получение описания бота для языка по умолчанию
result_default = get_my_description(BOT_TOKEN)
print("Описание по умолчанию:", result_default)
История изменений
- API 6.6. Добавлен метод getMyDescription
Дополнительно
- BotDescription - Объект, содержащий текстовое описание бота.