Метод removeBusinessAccountProfilePhoto

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

Описание

Удаляет текущую фотографию профиля управляемого бизнес-аккаунта. Требует права бизнес-бота can_edit_profile_photo. Возвращает True при успешном выполнении.

Параметр Тип Обязательный Описание
business_connection_id String Да Уникальный идентификатор бизнес-подключения
is_public Boolean Опционально Передайте True, чтобы удалить публичную фотографию, которая видна даже если основная фотография скрыта настройками приватности бизнес-аккаунта. После удаления основной фотографии, предыдущая фотография профиля (если есть) становится основной.

Примеры

php

<?php

// Пример использования метода removeBusinessAccountProfilePhoto

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

// ID бизнес-подключения
$businessConnectionId = 'YOUR_BUSINESS_CONNECTION_ID';

// Опциональный параметр - удалить публичное фото
$isPublic = true; // или false, если нужно удалить только основное фото

// Формируем данные для запроса
$data = [
    'business_connection_id' => $businessConnectionId,
    'is_public' => $isPublic
];

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

// Отправляем запрос
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
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";
}

// Альтернативный вариант с использованием библиотеки
class TelegramBot {
    private $token;
    
    public function __construct($token) {
        $this->token = $token;
    }
    
    public function removeBusinessAccountProfilePhoto($businessConnectionId, $isPublic = false) {
        $data = [
            'business_connection_id' => $businessConnectionId,
            'is_public' => $isPublic
        ];
        
        return $this->sendRequest('removeBusinessAccountProfilePhoto', $data);
    }
    
    private function sendRequest($method, $data = []) {
        $url = "https://api.telegram.org/bot{$this->token}/{$method}";
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        
        $response = curl_exec($ch);
        curl_close($ch);
        
        return json_decode($response, true);
    }
}

// Использование класса
$bot = new TelegramBot($botToken);
$result = $bot->removeBusinessAccountProfilePhoto($businessConnectionId, $isPublic);

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

?>

python

import requests

def remove_business_account_profile_photo(bot_token, business_connection_id, is_public=None):
    """
    Removes the current profile photo of a managed business account.
    
    Args:
        bot_token (str): Your bot's token
        business_connection_id (str): Unique identifier of the business connection
        is_public (bool, optional): Pass True to remove the public photo
    
    Returns:
        bool: True on success
    
    Raises:
        Exception: If the API request fails
    """
    url = f"https://api.telegram.org/bot{bot_token}/removeBusinessAccountProfilePhoto"
    
    payload = {
        "business_connection_id": business_connection_id
    }
    
    if is_public is not None:
        payload["is_public"] = is_public
    
    response = requests.post(url, json=payload)
    response_data = response.json()
    
    if response_data.get("ok"):
        return True
    else:
        raise Exception(f"API Error: {response_data.get('description')}")

# Пример использования
if __name__ == "__main__":
    # Замените на ваш реальный токен бота
    BOT_TOKEN = "YOUR_BOT_TOKEN"
    
    # Замените на реальный ID бизнес-подключения
    BUSINESS_CONNECTION_ID = "business_connection_id_here"
    
    try:
        # Удаление основного фото профиля
        result = remove_business_account_profile_photo(
            bot_token=BOT_TOKEN,
            business_connection_id=BUSINESS_CONNECTION_ID
        )
        print(f"Основное фото удалено: {result}")
        
        # Удаление публичного фото (если нужно)
        result_public = remove_business_account_profile_photo(
            bot_token=BOT_TOKEN,
            business_connection_id=BUSINESS_CONNECTION_ID,
            is_public=True
        )
        print(f"Публичное фото удалено: {result_public}")
        
    except Exception as e:
        print(f"Ошибка: {e}")

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

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