Метод closeGeneralForumTopic

Метод закрывает общую тему в супергруппе форума, если бот имеет права администратора на управление темами.

Описание

Используйте этот метод, чтобы закрыть открытую 'Общую' тему в чате супергруппы форума. Бот должен быть администратором в чате для работы этого метода и должен иметь права администратора can_manage_topics. Возвращает True при успешном выполнении.

Параметр Тип Обязательный Описание
chat_id Integer или String Да Уникальный идентификатор целевого чата или имя пользователя целевой супергруппы (в формате @supergroupusername)

Примеры

php

<?php

$botToken = 'YOUR_BOT_TOKEN';
$chatId = 'YOUR_CHAT_ID'; // Идентификатор чата или @username

$apiUrl = "https://api.telegram.org/bot{$botToken}/closeGeneralForumTopic";

$data = [
    'chat_id' => $chatId,
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
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 "Общая тема форума успешно закрыта.\n";
} else {
    echo "Ошибка: " . $result['description'] . "\n";
}

// Альтернативный вариант с file_get_contents
/*
$options = [
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: application/x-www-form-urlencoded',
        'content' => http_build_query($data)
    ]
];

$context = stream_context_create($options);
$response = file_get_contents($apiUrl, false, $context);
$result = json_decode($response, true);
*/

python

import requests

def close_general_forum_topic(bot_token, chat_id):
    """
    Закрывает общую тему в супергруппе форума.
    
    Args:
        bot_token (str): Токен вашего бота
        chat_id (int or str): ID чата или username супергруппы
    
    Returns:
        bool: True при успешном выполнении
    """
    url = f"https://api.telegram.org/bot{bot_token}/closeGeneralForumTopic"
    
    payload = {
        "chat_id": chat_id
    }
    
    response = requests.post(url, json=payload)
    result = response.json()
    
    if result.get("ok"):
        return True
    else:
        raise Exception(f"Ошибка: {result.get('description')}")

# Пример использования
if __name__ == "__main__":
    BOT_TOKEN = "ВАШ_ТОКЕН_БОТА"
    CHAT_ID = -1001234567890  # или "@supergroupusername"
    
    try:
        success = close_general_forum_topic(BOT_TOKEN, CHAT_ID)
        if success:
            print("Общая тема успешно закрыта")
    except Exception as e:
        print(f"Ошибка: {e}")

История изменений

  • API 6.4. Добавлен метод closeGeneralForumTopic
Комментарии