Метод getMyDescription

Метод получает описание бота для указанного языка пользователя.

Описание

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