Метод transferBusinessAccountStars

Метод переводит Telegram Stars с баланса бизнес-аккаунта на баланс бота при наличии соответствующих прав.

Описание

Переводит 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
Комментарии