Описание
Используйте этот метод, чтобы изменить описание бота, которое показывается в чате с ботом, если чат пуст. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| description | String | Опционально | Новое описание бота; 0-512 символов. Передайте пустую строку, чтобы удалить специальное описание для данного языка. |
| language_code | String | Опционально | Двухбуквенный код языка ISO 639-1. Если пусто, описание будет применено ко всем пользователям, для языка которых нет специального описания. |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Пример 1: Установка описания для всех языков
$data1 = [
'description' => 'Этот бот помогает управлять задачами и напоминаниями. Просто отправьте ему задачу!'
];
// Пример 2: Установка описания для конкретного языка
$data2 = [
'description' => 'This bot helps manage tasks and reminders. Just send it a task!',
'language_code' => 'en'
];
// Пример 3: Удаление описания для конкретного языка
$data3 = [
'description' => '',
'language_code' => 'ru'
];
// Функция для отправки запроса
function setBotDescription($data, $apiUrl) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'setMyDescription');
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);
curl_close($ch);
return json_decode($response, true);
}
// Использование примеров
$result1 = setBotDescription($data1, $apiUrl);
$result2 = setBotDescription($data2, $apiUrl);
$result3 = setBotDescription($data3, $apiUrl);
// Проверка результатов
if ($result1['ok']) {
echo "Описание для всех языков успешно обновлено\n";
}
if ($result2['ok']) {
echo "Английское описание успешно обновлено\n";
}
if ($result3['ok']) {
echo "Русское описание успешно удалено\n";
}
// Альтернативный вариант с использованием file_get_contents
function setBotDescriptionAlt($data, $apiUrl) {
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$response = file_get_contents($apiUrl . 'setMyDescription', false, $context);
return json_decode($response, true);
}
// Пример с валидацией длины описания
function setValidatedDescription($description, $languageCode = null, $apiUrl) {
if (strlen($description) > 512) {
throw new Exception('Описание не должно превышать 512 символов');
}
$data = ['description' => $description];
if ($languageCode !== null) {
$data['language_code'] = $languageCode;
}
return setBotDescription($data, $apiUrl);
}
try {
$validatedResult = setValidatedDescription(
'Короткое описание бота',
'ru',
$apiUrl
);
} catch (Exception $e) {
echo 'Ошибка: ' . $e->getMessage();
}
?>
python
import requests
def set_my_description(bot_token, description=None, language_code=None):
"""
Изменяет описание бота.
Args:
bot_token (str): Токен вашего бота
description (str, optional): Новое описание бота (0-512 символов).
Пустая строка удаляет описание для указанного языка.
language_code (str, optional): Двухбуквенный код языка (ISO 639-1).
Если не указан, применяется ко всем языкам без специального описания.
Returns:
bool: True в случае успеха
"""
url = f"https://api.telegram.org/bot{bot_token}/setMyDescription"
params = {}
if description is not None:
params['description'] = description
if language_code is not None:
params['language_code'] = language_code
response = requests.post(url, json=params)
result = response.json()
if result.get('ok'):
return True
else:
raise Exception(f"Ошибка: {result.get('description')}")
# Пример использования:
if __name__ == "__main__":
# Замените 'YOUR_BOT_TOKEN' на реальный токен вашего бота
BOT_TOKEN = 'YOUR_BOT_TOKEN'
try:
# Пример 1: Установка описания на английском
success = set_my_description(
bot_token=BOT_TOKEN,
description="Этот бот помогает управлять задачами и напоминаниями.",
language_code="en"
)
print(f"Описание на английском установлено: {success}")
# Пример 2: Установка описания на русском
success = set_my_description(
bot_token=BOT_TOKEN,
description="Этот бот помогает управлять задачами и напоминаниями.",
language_code="ru"
)
print(f"Описание на русском установлено: {success}")
# Пример 3: Удаление описания для определенного языка
success = set_my_description(
bot_token=BOT_TOKEN,
description="",
language_code="en"
)
print(f"Описание на английском удалено: {success}")
# Пример 4: Установка общего описания (для всех языков)
success = set_my_description(
bot_token=BOT_TOKEN,
description="Универсальный бот-помощник"
)
print(f"Общее описание установлено: {success}")
except Exception as e:
print(f"Произошла ошибка: {e}")
История изменений
- API 6.6. Добавлен метод setMyDescription