Описание
Изменяет настройки приватности, касающиеся входящих подарков в управляемом бизнес-аккаунте. Требует права бизнес-бота 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.