Метод deleteChatStickerSet

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

Описание

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

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

Примеры

php

<?php

$botToken = 'YOUR_BOT_TOKEN';
$chatId = 'CHAT_ID_OR_USERNAME'; // Например: 123456789 или "@supergroupusername"

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

$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);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);

if ($result['ok']) {
    echo "Стикерсет успешно удален из чата!";
} else {
    echo "Ошибка: " . $result['description'];
}

// Альтернативный вариант с использованием 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 delete_chat_sticker_set(bot_token, chat_id):
    """
    Удаляет набор стикеров из супергруппы.
    
    Args:
        bot_token (str): Токен вашего бота
        chat_id (int or str): ID чата или username супергруппы
    
    Returns:
        bool: True в случае успеха, иначе False
    """
    url = f"https://api.telegram.org/bot{bot_token}/deleteChatStickerSet"
    
    params = {
        'chat_id': chat_id
    }
    
    try:
        response = requests.post(url, params=params)
        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
    except ValueError as e:
        print(f"Ошибка парсинга JSON: {e}")
        return False

# Пример использования
if __name__ == "__main__":
    # Замените на реальный токен бота
    BOT_TOKEN = "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz"
    
    # Пример с ID чата (целое число)
    chat_id = -1001234567890
    
    # Пример с username (строка)
    # chat_id = "@mysupergroup"
    
    success = delete_chat_sticker_set(BOT_TOKEN, chat_id)
    
    if success:
        print("Набор стикеров успешно удален!")
    else:
        print("Не удалось удалить набор стикеров")

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

  • API 3.4. Добавлен метод deleteChatStickerSet

Дополнительно

  • getChat - Метод для получения актуальной информации о чате, возвращающий объект ChatFullInfo.
Комментарии