Метод unpinAllForumTopicMessages

Метод очищает все закреплённые сообщения в указанной теме форума, если бот обладает правами администратора.

Описание

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

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

Примеры

php

<?php

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

// Параметры для открепления всех сообщений в теме форума
$chatId = -1001234567890; // ID супергруппы или @supergroupusername
$messageThreadId = 123; // ID темы форума

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

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

// Альтернативный вариант с использованием file_get_contents
/*
$url = $apiUrl . 'unpinAllForumTopicMessages?' . http_build_query($data);
$response = file_get_contents($url);
$result = json_decode($response, true);
if ($result['ok']) {
    echo "Все сообщения в теме форума успешно откреплены!";
}
*/

?>

python

import requests

def unpin_all_forum_topic_messages(bot_token, chat_id, message_thread_id):
    """
    Очищает список закрепленных сообщений в теме форума.
    
    Args:
        bot_token (str): Токен вашего бота
        chat_id (int | str): ID чата или username супергруппы
        message_thread_id (int): ID темы форума
    
    Returns:
        bool: True в случае успеха
    """
    url = f"https://api.telegram.org/bot{bot_token}/unpinAllForumTopicMessages"
    
    payload = {
        "chat_id": chat_id,
        "message_thread_id": message_thread_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"
    TOPIC_ID = 123  # ID темы форума
    
    try:
        success = unpin_all_forum_topic_messages(BOT_TOKEN, CHAT_ID, TOPIC_ID)
        print(f"Все сообщения откреплены: {success}")
    except Exception as e:
        print(f"Произошла ошибка: {e}")

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

  • API 6.3. Добавлен метод unpinAllForumTopicMessages
  • API 9.3. Обновлен метод unpinAllForumTopicMessages: Поддержан параметр message_thread_id в личных чатах с темами для управления темами.
Комментарии