Описание
Используйте этот метод для изменения названия чата. Названия приватных чатов изменить нельзя. Бот должен быть администратором в чате и иметь соответствующие права администратора. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Integer или String | Да | Уникальный идентификатор целевого чата или имя пользователя целевого канала (в формате @channelusername) |
| title | String | Да | Новое название чата, 1-128 символов |
Примеры
php
<?php
// Токен вашего бота
$botToken = 'YOUR_BOT_TOKEN';
// ID чата или username канала
$chatId = '@yourchannelusername'; // или числовой ID, например: -1001234567890
// Новый заголовок чата
$newTitle = 'Новое название чата';
// URL для запроса
$apiUrl = "https://api.telegram.org/bot{$botToken}/setChatTitle";
// Подготовка данных
$postData = [
'chat_id' => $chatId,
'title' => $newTitle
];
// Инициализация cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Отключить проверку SSL для локального тестирования
// Выполнение запроса
$response = curl_exec($ch);
// Проверка на ошибки
if ($response === false) {
echo 'Ошибка cURL: ' . curl_error($ch);
} else {
$responseData = json_decode($response, true);
if ($responseData['ok']) {
echo "Название чата успешно изменено!";
} else {
echo "Ошибка: " . $responseData['description'];
}
}
// Закрытие соединения
curl_close($ch);
// Альтернативный вариант с использованием file_get_contents (требует allow_url_fopen = On)
/*
$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query($postData)
]
]);
$response = file_get_contents($apiUrl, false, $context);
$responseData = json_decode($response, true);
if ($responseData['ok']) {
echo "Название чата успешно изменено!";
} else {
echo "Ошибка: " . $responseData['description'];
}
*/
?>
python
import requests
def set_chat_title(bot_token, chat_id, title):
"""
Изменяет название чата.
Args:
bot_token (str): Токен вашего бота
chat_id (int or str): ID чата или username канала
title (str): Новое название чата (1-128 символов)
Returns:
bool: True в случае успеха, иначе False
"""
url = f"https://api.telegram.org/bot{bot_token}/setChatTitle"
payload = {
"chat_id": chat_id,
"title": title
}
try:
response = requests.post(url, json=payload)
response.raise_for_status()
result = response.json()
if result.get("ok"):
return True
else:
print(f"Ошибка: {result.get('description')}")
return False
except requests.exceptions.RequestException as e:
print(f"Ошибка при выполнении запроса: {e}")
return False
# Пример использования
if __name__ == "__main__":
# Замените на ваш токен бота
BOT_TOKEN = "ВАШ_ТОКЕН_БОТА"
# Пример с ID группы
chat_id = -1001234567890 # ID группы (отрицательное число)
new_title = "Новое название группы"
# Пример с username канала
# chat_id = "@my_channel" # Username канала
# new_title = "Новое название канала"
success = set_chat_title(BOT_TOKEN, chat_id, new_title)
if success:
print("Название чата успешно изменено!")
else:
print("Не удалось изменить название чата")
История изменений
- API 3.1. Добавлен метод setChatTitle