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