Описание
Используйте этот метод, чтобы вновь открыть закрытую тему в супергрупповом чате форума. Бот должен быть администратором в чате для работы этого метода и иметь права администратора can_manage_topics, если только он не является создателем темы. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| chat_id | Целое число или Строка | Да | Уникальный идентификатор целевого чата или имя пользователя целевой супергруппы (в формате @supergroupusername) |
| message_thread_id | Целое число | Да | Уникальный идентификатор целевой ветки сообщений темы форума |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Параметры для метода reopenForumTopic
$chatId = -1001234567890; // ID супергруппы или @username
$messageThreadId = 123; // ID топика форума
$params = [
'chat_id' => $chatId,
'message_thread_id' => $messageThreadId
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'reopenForumTopic');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
// Обработка ответа
$result = json_decode($response, true);
if ($result['ok']) {
echo "Топик успешно открыт заново!";
} else {
echo "Ошибка: " . $result['description'];
}
// Альтернативный вариант с использованием file_get_contents
/*
$url = $apiUrl . 'reopenForumTopic?' . http_build_query($params);
$response = file_get_contents($url);
$result = json_decode($response, true);
if ($result['ok']) {
echo "Топик успешно открыт заново!";
} else {
echo "Ошибка: " . $result['description'];
}
*/
?>
python
import requests
def reopen_forum_topic(bot_token, chat_id, message_thread_id):
"""
Reopens a closed topic in a forum supergroup chat.
Parameters:
bot_token (str): Your bot's token
chat_id (int or str): Unique identifier for the target chat or username
of the target supergroup (format: @supergroupusername)
message_thread_id (int): Unique identifier for the target message thread of the forum topic
Returns:
bool: True if successful, False otherwise
"""
url = f"https://api.telegram.org/bot{bot_token}/reopenForumTopic"
payload = {
"chat_id": chat_id,
"message_thread_id": message_thread_id
}
try:
response = requests.post(url, json=payload)
response.raise_for_status()
result = response.json()
if result.get("ok"):
return True
else:
print(f"Error: {result.get('description')}")
return False
except requests.exceptions.RequestException as e:
print(f"Request error: {e}")
return False
# Пример использования:
if __name__ == "__main__":
BOT_TOKEN = "YOUR_BOT_TOKEN"
CHAT_ID = -1001234567890 # или "@supergroupusername"
TOPIC_ID = 123 # ID темы форума
success = reopen_forum_topic(BOT_TOKEN, CHAT_ID, TOPIC_ID)
if success:
print("Тема форума успешно открыта заново")
else:
print("Не удалось открыть тему форума")
История изменений
- API 6.3. Добавлен метод reopenForumTopic