Описание
Используйте этот метод, чтобы изменить описание группы, супергруппы или канала. Бот должен быть администратором в чате для выполнения этого действия и иметь соответствующие права администратора. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Integer или String | Да | Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername) |
| description | String | Опционально | Новое описание чата, 0-255 символов |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Пример 1: Установка описания для группы/супергруппы по ID
$chatId = -1001234567890; // ID чата (отрицательное число для групп)
$description = 'Новое описание нашей группы. Добро пожаловать!';
$data = [
'chat_id' => $chatId,
'description' => $description
];
// Пример 2: Установка описания для канала по username
$channelUsername = '@my_channel';
$channelDescription = 'Официальный канал проекта. Новости и обновления.';
$data2 = [
'chat_id' => $channelUsername,
'description' => $channelDescription
];
// Пример 3: Удаление описания (передача пустой строки)
$data3 = [
'chat_id' => $chatId,
'description' => ''
];
// Функция для отправки запроса
function setChatDescription($data, $apiUrl) {
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $apiUrl . 'setChatDescription',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
$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);
if ($httpCode !== 200) {
throw new Exception("HTTP Error: {$httpCode}");
}
$result = json_decode($response, true);
if (!$result['ok']) {
throw new Exception("API Error: {$result['description']}");
}
return $result['result'];
}
// Использование функции
try {
// Пример 1
$result1 = setChatDescription($data, $apiUrl);
echo "Описание успешно установлено для чата {$chatId}\n";
// Пример 2
// $result2 = setChatDescription($data2, $apiUrl);
// echo "Описание успешно установлено для канала {$channelUsername}\n";
// Пример 3
// $result3 = setChatDescription($data3, $apiUrl);
// echo "Описание успешно удалено\n";
} catch (Exception $e) {
echo "Ошибка: " . $e->getMessage() . "\n";
}
// Альтернативный вариант с использованием file_get_contents
function setChatDescriptionSimple($data, $apiUrl) {
$url = $apiUrl . 'setChatDescription?' . http_build_query($data);
$response = file_get_contents($url);
if ($response === false) {
throw new Exception("Failed to get response from Telegram API");
}
$result = json_decode($response, true);
if (!$result['ok']) {
throw new Exception("API Error: {$result['description']}");
}
return $result['result'];
}
?>
python
import requests
def set_chat_description(bot_token, chat_id, description=None):
"""
Изменяет описание группы, супергруппы или канала.
:param bot_token: Токен вашего бота
:param chat_id: ID чата или username канала (например, @channelusername)
:param description: Новое описание чата (0-255 символов). Если None, описание будет удалено.
:return: True в случае успеха, иначе вызывает исключение
"""
url = f"https://api.telegram.org/bot{bot_token}/setChatDescription"
payload = {
"chat_id": chat_id,
}
if description is not None:
payload["description"] = description
response = requests.post(url, json=payload)
response.raise_for_status()
result = response.json()
if not result.get('ok'):
raise Exception(f"Ошибка: {result.get('description')}")
return True
# Пример использования:
if __name__ == "__main__":
# Замените на ваш токен бота
BOT_TOKEN = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
# Пример 1: Установка описания для группы по ID
try:
set_chat_description(
bot_token=BOT_TOKEN,
chat_id=-1001234567890, # ID группы
description="Новое описание нашей группы! Добро пожаловать!"
)
print("Описание успешно изменено!")
except Exception as e:
print(f"Ошибка: {e}")
# Пример 2: Установка описания для канала по username
try:
set_chat_description(
bot_token=BOT_TOKEN,
chat_id="@my_test_channel", # Username канала
description="Официальный канал нашего проекта. Все новости здесь!"
)
print("Описание канала успешно изменено!")
except Exception as e:
print(f"Ошибка: {e}")
# Пример 3: Удаление описания (установка пустого значения)
try:
set_chat_description(
bot_token=BOT_TOKEN,
chat_id=-1001234567890,
description="" # Пустая строка удалит описание
)
print("Описание успешно удалено!")
except Exception as e:
print(f"Ошибка: {e}")