Метод convertGiftToStars

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

Описание

Конвертирует указанный обычный подарок в Telegram Stars. Требует право бизнес-бота can_convert_gifts_to_stars. Возвращает True при успешном выполнении.

Параметр Тип Обязательный Описание
business_connection_id String Да Уникальный идентификатор бизнес-подключения
owned_gift_id String Да Уникальный идентификатор обычного подарка, который должен быть конвертирован в Telegram Stars

Примеры

php

<?php

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

// Токен вашего бота
$botToken = 'ВАШ_ТОКЕН_БОТА';

// Параметры запроса
$businessConnectionId = 'ВАШ_BUSINESS_CONNECTION_ID';
$ownedGiftId = 'ИДЕНТИФИКАТОР_ПОДАРКА';

// URL API Telegram
$apiUrl = "https://api.telegram.org/bot{$botToken}/convertGiftToStars";

// Подготовка данных
$postData = [
    'business_connection_id' => $businessConnectionId,
    'owned_gift_id' => $ownedGiftId
];

// Создание контекста для stream_context_create
$options = [
    'http' => [
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($postData),
    ],
];

// Отправка запроса
$context  = stream_context_create($options);
$result = file_get_contents($apiUrl, false, $context);

// Обработка ответа
if ($result === FALSE) {
    echo "Ошибка при отправке запроса\n";
} else {
    $response = json_decode($result, true);
    
    if ($response['ok']) {
        echo "Подарок успешно конвертирован в Telegram Stars!\n";
    } else {
        echo "Ошибка: " . $response['description'] . "\n";
    }
}

// Альтернативный вариант с использованием cURL
function convertGiftToStars($botToken, $businessConnectionId, $ownedGiftId) {
    $apiUrl = "https://api.telegram.org/bot{$botToken}/convertGiftToStars";
    
    $data = [
        'business_connection_id' => $businessConnectionId,
        'owned_gift_id' => $ownedGiftId
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/x-www-form-urlencoded'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    if (curl_errno($ch)) {
        $error = curl_error($ch);
        curl_close($ch);
        throw new Exception("cURL Error: {$error}");
    }
    
    curl_close($ch);
    
    $result = json_decode($response, true);
    
    if ($httpCode !== 200 || !$result['ok']) {
        throw new Exception("API Error: " . ($result['description'] ?? 'Unknown error'));
    }
    
    return $result['result'];
}

// Пример использования функции
try {
    $result = convertGiftToStars($botToken, $businessConnectionId, $ownedGiftId);
    if ($result === true) {
        echo "Конвертация прошла успешно!\n";
    }
} catch (Exception $e) {
    echo "Ошибка: " . $e->getMessage() . "\n";
}

?>

python

import requests

def convert_gift_to_stars(bot_token, business_connection_id, owned_gift_id):
    """
    Converts a regular gift to Telegram Stars.
    
    Args:
        bot_token (str): Your bot's token
        business_connection_id (str): Unique identifier of the business connection
        owned_gift_id (str): Unique identifier of the regular gift to convert
    
    Returns:
        bool: True if successful, False otherwise
    """
    url = f"https://api.telegram.org/bot{bot_token}/convertGiftToStars"
    
    payload = {
        "business_connection_id": business_connection_id,
        "owned_gift_id": owned_gift_id
    }
    
    try:
        response = requests.post(url, json=payload)
        response.raise_for_status()
        result = response.json()
        
        if result.get("ok"):
            return True
        else:
            print(f"Error: {result.get('description')}")
            return False
            
    except requests.exceptions.RequestException as e:
        print(f"Request failed: {e}")
        return False

# Пример использования
if __name__ == "__main__":
    BOT_TOKEN = "YOUR_BOT_TOKEN"
    BUSINESS_CONNECTION_ID = "business_connection_id_example"
    OWNED_GIFT_ID = "gift_id_example"
    
    success = convert_gift_to_stars(
        BOT_TOKEN,
        BUSINESS_CONNECTION_ID,
        OWNED_GIFT_ID
    )
    
    if success:
        print("Gift successfully converted to Stars!")
    else:
        print("Failed to convert gift to Stars.")

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

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