Описание
Используйте этот метод для получения актуальной информации о чате. При успешном выполнении возвращает объект ChatFullInfo.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Целое число или строка | Да | Уникальный идентификатор целевого чата или имя пользователя целевой супергруппы/канала (в формате @channelusername) |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$chatId = '@channelusername'; // или числовой ID чата
$apiUrl = "https://api.telegram.org/bot{$botToken}/getChat";
$data = [
'chat_id' => $chatId
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result['ok']) {
$chatInfo = $result['result'];
echo "ID чата: " . $chatInfo['id'] . "\n";
echo "Тип: " . $chatInfo['type'] . "\n";
echo "Название: " . ($chatInfo['title'] ?? $chatInfo['first_name'] ?? 'N/A') . "\n";
if (isset($chatInfo['username'])) {
echo "Username: @" . $chatInfo['username'] . "\n";
}
if (isset($chatInfo['description'])) {
echo "Описание: " . $chatInfo['description'] . "\n";
}
} else {
echo "Ошибка: " . $result['description'] . "\n";
}
// Альтернативный вариант с использованием file_get_contents
/*
$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query($data)
]
]);
$response = file_get_contents($apiUrl, false, $context);
$result = json_decode($response, true);
*/
python
import requests
def get_chat(bot_token, chat_id):
"""
Получает актуальную информацию о чате.
Args:
bot_token (str): Токен вашего бота
chat_id (int or str): ID чата или username канала/супергруппы
Returns:
dict: Объект ChatFullInfo или None в случае ошибки
"""
url = f"https://api.telegram.org/bot{bot_token}/getChat"
params = {
'chat_id': chat_id
}
try:
response = requests.post(url, params=params)
response.raise_for_status()
result = response.json()
if result.get('ok'):
return result.get('result')
else:
print(f"Ошибка: {result.get('description')}")
return None
except requests.exceptions.RequestException as e:
print(f"Ошибка запроса: {e}")
return None
# Пример использования
if __name__ == "__main__":
# Замените на ваш токен бота
BOT_TOKEN = "YOUR_BOT_TOKEN"
# Пример 1: Получение информации по ID чата
chat_info = get_chat(BOT_TOKEN, 123456789)
# Пример 2: Получение информации по username канала
# channel_info = get_chat(BOT_TOKEN, "@channel_username")
if chat_info:
print(f"Название чата: {chat_info.get('title', 'N/A')}")
print(f"Тип чата: {chat_info.get('type')}")
print(f"ID чата: {chat_info.get('id')}")
# Для супергрупп и каналов
if 'username' in chat_info:
print(f"Username: @{chat_info.get('username')}")
# Для приватных чатов
if 'first_name' in chat_info:
print(f"Имя: {chat_info.get('first_name')}")
print(f"Фамилия: {chat_info.get('last_name', '')}")
История изменений
- API 2.1.. Добавлен метод getChat
- API 3.3. Обновлен метод getChat: Теперь также возвращает закреплённые сообщения в супергруппах, если они есть
- API 3.4. Обновлен метод getChat: Теперь возвращает sticker_set для супергрупп
- API 5.0. Обновлен метод getChat: Обновлен метод для возврата дополнительной информации о чате
- API 7.3. Обновлен метод getChat: Изменён тип возвращаемого значения на ChatFullInfo
Дополнительно
- ChatFullInfo - Объект ChatFullInfo содержит полную информацию о чате, включая его тип, настройки, участников и дополнительные параметры.