Метод setBusinessAccountGiftSettings

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

Описание

Изменяет настройки приватности, касающиеся входящих подарков в управляемом бизнес-аккаунте. Требует права бизнес-бота can_change_gift_settings. Возвращает True при успехе.

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

Примеры

php

<?php

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

// Параметры для метода setBusinessAccountGiftSettings
$params = [
    'business_connection_id' => '1234567890', // Уникальный идентификатор бизнес-подключения
    'show_gift_button' => true, // Всегда показывать кнопку подарков
    'accepted_gift_types' => [
        'stars' => true, // Принимать звёзды
        'gifts' => true  // Принимать материальные подарки
    ]
];

// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'setBusinessAccountGiftSettings');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$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
function setBusinessGiftSettings($businessId, $showButton, $acceptedTypes) {
    $botToken = 'YOUR_BOT_TOKEN';
    $url = "https://api.telegram.org/bot{$botToken}/setBusinessAccountGiftSettings";
    
    $data = [
        'business_connection_id' => $businessId,
        'show_gift_button' => $showButton,
        'accepted_gift_types' => $acceptedTypes
    ];
    
    $options = [
        'http' => [
            'header' => "Content-Type: application/json\r\n",
            'method' => 'POST',
            'content' => json_encode($data)
        ]
    ];
    
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    
    return json_decode($result, true);
}

// Пример использования функции
$acceptedTypes = [
    'stars' => true,
    'gifts' => false // Не принимать материальные подарки
];

$result = setBusinessGiftSettings('1234567890', true, $acceptedTypes);

if ($result['ok']) {
    // Действия при успешном обновлении
    var_dump($result);
}

?>

python

import requests

def set_business_account_gift_settings(bot_token, business_connection_id, show_gift_button, accepted_gift_types):
    """
    Изменяет настройки приватности для входящих подарков в управляемом бизнес-аккаунте.
    
    Параметры:
    - bot_token: токен вашего бота
    - business_connection_id: уникальный идентификатор бизнес-подключения
    - show_gift_button: True, если кнопка для отправки подарка должна всегда отображаться
    - accepted_gift_types: типы принимаемых подарков (объект AcceptedGiftTypes)
    """
    
    url = f"https://api.telegram.org/bot{bot_token}/setBusinessAccountGiftSettings"
    
    payload = {
        "business_connection_id": business_connection_id,
        "show_gift_button": show_gift_button,
        "accepted_gift_types": accepted_gift_types
    }
    
    response = requests.post(url, json=payload)
    return response.json()

# Пример использования
if __name__ == "__main__":
    # Токен вашего бота
    BOT_TOKEN = "YOUR_BOT_TOKEN"
    
    # ID бизнес-подключения
    BUSINESS_CONNECTION_ID = "your_business_connection_id"
    
    # Настройки отображения кнопки подарков
    SHOW_GIFT_BUTTON = True
    
    # Типы принимаемых подарков
    # Пример структуры AcceptedGiftTypes (уточните в документации точную структуру)
    ACCEPTED_GIFT_TYPES = {
        "allow_stars": True,
        "allow_premium_gifts": False,
        "allow_custom_gifts": True
    }
    
    # Вызов метода
    result = set_business_account_gift_settings(
        BOT_TOKEN,
        BUSINESS_CONNECTION_ID,
        SHOW_GIFT_BUTTON,
        ACCEPTED_GIFT_TYPES
    )
    
    print(result)

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

  • API 9.0. Добавлен метод setBusinessAccountGiftSettings

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

  • AcceptedGiftTypes - Объект описывает типы подарков, которые можно отправлять пользователям или чатам в Telegram.
Комментарии