Метод setMyShortDescription

Метод изменяет краткое описание бота, отображаемое в профиле и при расшаривании.

Описание

Используйте этот метод, чтобы изменить краткое описание бота, которое отображается на странице профиля бота и отправляется вместе со ссылкой, когда пользователи делятся ботом. Возвращает True при успешном выполнении.

Параметр Тип Обязательный Описание
short_description String Опционально Новое краткое описание для бота; 0-120 символов. Передайте пустую строку, чтобы удалить специальное краткое описание для данного языка.
language_code String Опционально Двухбуквенный код языка ISO 639-1. Если пусто, краткое описание будет применено ко всем пользователям, для языка которых нет специального краткого описания.

Примеры

php

<?php

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

// Пример 1: Установка короткого описания для всех языков
$data1 = [
    'short_description' => 'Этот бот помогает управлять задачами и напоминаниями.'
];

// Пример 2: Установка короткого описания для конкретного языка
$data2 = [
    'short_description' => 'This bot helps manage tasks and reminders.',
    'language_code' => 'en'
];

// Пример 3: Удаление короткого описания для конкретного языка
$data3 = [
    'short_description' => '',
    'language_code' => 'ru'
];

// Функция для отправки запроса
function setBotShortDescription($data, $apiUrl) {
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, $apiUrl . 'setMyShortDescription');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    if (curl_errno($ch)) {
        $error = curl_error($ch);
        curl_close($ch);
        throw new Exception("cURL Error: {$error}");
    }
    
    curl_close($ch);
    
    $result = json_decode($response, true);
    
    if ($httpCode !== 200 || !$result['ok']) {
        throw new Exception("API Error: " . ($result['description'] ?? 'Unknown error'));
    }
    
    return $result['result'];
}

// Использование (раскомментируйте нужный пример)
try {
    // Пример 1
    // $result = setBotShortDescription($data1, $apiUrl);
    
    // Пример 2
    // $result = setBotShortDescription($data2, $apiUrl);
    
    // Пример 3
    // $result = setBotShortDescription($data3, $apiUrl);
    
    if ($result === true) {
        echo "Короткое описание успешно обновлено!\n";
    }
} catch (Exception $e) {
    echo "Ошибка: " . $e->getMessage() . "\n";
}

// Альтернативный вариант с использованием file_get_contents
function setBotShortDescriptionSimple($data, $apiUrl) {
    $url = $apiUrl . 'setMyShortDescription?' . http_build_query($data);
    $response = file_get_contents($url);
    
    if ($response === false) {
        throw new Exception("Failed to send request");
    }
    
    $result = json_decode($response, true);
    
    if (!$result['ok']) {
        throw new Exception("API Error: " . ($result['description'] ?? 'Unknown error'));
    }
    
    return $result['result'];
}

// Пример с использованием библиотеки (например, TelegramBotPHP)
/*
require_once 'vendor/autoload.php';

use TelegramBot\Api\BotApi;

$bot = new BotApi($botToken);

try {
    // Установка описания для английского языка
    $bot->setMyShortDescription('This is my awesome bot!', 'en');
    
    // Установка описания для русского языка
    $bot->setMyShortDescription('Это мой потрясающий бот!', 'ru');
    
    // Удаление описания для русского языка
    $bot->setMyShortDescription('', 'ru');
    
    echo "Описания успешно обновлены!\n";
} catch (\TelegramBot\Api\Exception $e) {
    echo "Ошибка: " . $e->getMessage() . "\n";
}
*/

?>

python

import asyncio
from telegram import Bot

async def set_short_description():
    bot = Bot(token="YOUR_BOT_TOKEN")
    
    # Пример 1: Установка короткого описания для всех языков
    result1 = await bot.set_my_short_description(
        short_description="Этот бот помогает с задачами"
    )
    print(f"Результат 1: {result1}")
    
    # Пример 2: Установка короткого описания для конкретного языка
    result2 = await bot.set_my_short_description(
        short_description="This bot helps with tasks",
        language_code="en"
    )
    print(f"Результат 2: {result2}")
    
    # Пример 3: Удаление описания для конкретного языка
    result3 = await bot.set_my_short_description(
        short_description="",
        language_code="ru"
    )
    print(f"Результат 3: {result3}")

# Запуск асинхронной функции
if __name__ == "__main__":
    asyncio.run(set_short_description())

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

  • API 6.6. Добавлен метод setMyShortDescription
Комментарии