Метод banChatSenderChat

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

Описание

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

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

Примеры

php

<?php

// Токен вашего бота
$botToken = 'YOUR_BOT_TOKEN';

// ID чата (супергруппы или канала) или его username
$chatId = -1001234567890; // или '@channelusername'

// ID канала, который нужно забанить
$senderChatId = -1009876543210;

// URL для вызова метода banChatSenderChat
$apiUrl = "https://api.telegram.org/bot{$botToken}/banChatSenderChat";

// Подготовка данных
$data = [
    'chat_id' => $chatId,
    'sender_chat_id' => $senderChatId
];

// Инициализация cURL
$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_HTTPHEADER, ['Content-Type: multipart/form-data']);

// Выполнение запроса
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// Проверка на ошибки cURL
if (curl_errno($ch)) {
    echo 'Ошибка cURL: ' . curl_error($ch);
} else {
    // Декодирование ответа
    $result = json_decode($response, true);
    
    // Проверка успешности запроса
    if ($result['ok'] === true) {
        echo "Канал успешно забанен!";
    } else {
        echo "Ошибка: " . $result['description'];
    }
}

// Закрытие соединения
curl_close($ch);

// Альтернативный вариант с использованием file_get_contents (требует allow_url_fopen = On)
/*
$options = [
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: multipart/form-data',
        'content' => http_build_query($data)
    ]
];

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

if ($result['ok'] === true) {
    echo "Канал успешно забанен!";
} else {
    echo "Ошибка: " . $result['description'];
}
*/

?>

python

import requests

def ban_chat_sender_chat(bot_token, chat_id, sender_chat_id):
    """
    Блокирует канал в супергруппе или канале.
    
    Args:
        bot_token (str): Токен вашего бота
        chat_id (int | str): ID чата или username канала
        sender_chat_id (int): ID блокируемого канала
    
    Returns:
        bool: True в случае успеха
    """
    url = f"https://api.telegram.org/bot{bot_token}/banChatSenderChat"
    
    params = {
        'chat_id': chat_id,
        'sender_chat_id': sender_chat_id
    }
    
    response = requests.post(url, json=params)
    result = response.json()
    
    if result.get('ok'):
        return True
    else:
        print(f"Ошибка: {result.get('description')}")
        return False

# Пример использования
if __name__ == "__main__":
    BOT_TOKEN = "ВАШ_ТОКЕН_БОТА"
    
    # Пример с числовым chat_id
    success = ban_chat_sender_chat(
        bot_token=BOT_TOKEN,
        chat_id=-1001234567890,  # ID супергруппы
        sender_chat_id=-1009876543210  # ID блокируемого канала
    )
    
    # Пример с username канала
    success2 = ban_chat_sender_chat(
        bot_token=BOT_TOKEN,
        chat_id="@my_channel",  # username канала
        sender_chat_id=-1001111111111
    )
    
    if success:
        print("Канал успешно заблокирован")

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

  • API 5.5. Добавлен метод banChatSenderChat

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

  • unbanChatSenderChat - Метод для разблокировки ранее заблокированного канала в супергруппе или канале, требующий прав администратора у бота.
Комментарии