Описание
Конвертирует указанный обычный подарок в 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