Описание
Переводит Telegram Stars с баланса бизнес-аккаунта на баланс бота. Требует права бизнес-бота can_transfer_stars. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| business_connection_id | String | Да | Уникальный идентификатор бизнес-подключения |
| star_count | Integer | Да | Количество Telegram Stars для перевода; от 1 до 10000 |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Параметры для передачи звезд
$params = [
'business_connection_id' => 'YOUR_BUSINESS_CONNECTION_ID',
'star_count' => 100 // Количество звезд для перевода (1-10000)
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'transferBusinessAccountStars');
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 "Успешно переведено {$params['star_count']} звезд\n";
} else {
echo "Ошибка: " . $result['description'] . "\n";
}
// Альтернативный вариант с использованием file_get_contents
function transferStars($businessConnectionId, $starCount) {
$botToken = 'YOUR_BOT_TOKEN';
$url = "https://api.telegram.org/bot{$botToken}/transferBusinessAccountStars";
$data = [
'business_connection_id' => $businessConnectionId,
'star_count' => $starCount
];
$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);
}
// Пример использования функции
$transferResult = transferStars('business_conn_123', 500);
if ($transferResult['ok']) {
echo "Перевод выполнен успешно!\n";
}
?>
python
import asyncio
from telegram import Bot
async def transfer_stars():
bot = Bot(token="YOUR_BOT_TOKEN")
try:
result = await bot.transfer_business_account_stars(
business_connection_id="your_business_connection_id",
star_count=100
)
print(f"Transfer successful: {result}")
except Exception as e:
print(f"Error: {e}")
# Run the async function
if __name__ == "__main__":
asyncio.run(transfer_stars())
История изменений
- API 9.0. Добавлен метод transferBusinessAccountStars