Описание
Возвращает список подарков, которые бот может отправлять пользователям и каналам. Не требует параметров. Возвращает объект Gifts.
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/getAvailableGifts";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode !== 200) {
echo "Error: HTTP code {$httpCode}\n";
curl_close($ch);
exit;
}
curl_close($ch);
$result = json_decode($response, true);
if (!$result['ok']) {
echo "API Error: {$result['description']}\n";
exit;
}
// Обработка полученных подарков
$gifts = $result['result'];
echo "Available gifts:\n";
foreach ($gifts as $gift) {
echo "Gift ID: {$gift['id']}\n";
echo "Title: {$gift['title']}\n";
echo "Description: {$gift['description']}\n";
echo "Price: {$gift['price']}\n";
echo "Currency: {$gift['currency']}\n";
if (isset($gift['sticker'])) {
echo "Sticker ID: {$gift['sticker']['file_id']}\n";
}
echo "---\n";
}
// Альтернативный вариант с использованием file_get_contents
function getAvailableGifts($botToken) {
$url = "https://api.telegram.org/bot{$botToken}/getAvailableGifts";
$response = file_get_contents($url);
return json_decode($response, true);
}
// Пример использования функции
$giftsData = getAvailableGifts($botToken);
if ($giftsData['ok']) {
// Работа с данными о подарках
$availableGifts = $giftsData['result'];
// ... дальнейшая обработка
}
?>
python
import requests
def get_available_gifts(bot_token):
"""
Returns the list of gifts that can be sent by the bot to users and channel chats.
Args:
bot_token (str): Your bot's token
Returns:
dict: JSON response containing gifts information
"""
url = f"https://api.telegram.org/bot{bot_token}/getAvailableGifts"
try:
response = requests.get(url)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
print(f"Error making request: {e}")
return None
# Example usage
if __name__ == "__main__":
# Replace with your actual bot token
BOT_TOKEN = "YOUR_BOT_TOKEN_HERE"
result = get_available_gifts(BOT_TOKEN)
if result and result.get("ok"):
gifts = result.get("result", {})
print("Available gifts retrieved successfully")
print(f"Total gifts: {len(gifts.get('gifts', []))}")
# Print gift details
for gift in gifts.get("gifts", []):
print(f"\nGift ID: {gift.get('id')}")
print(f"Title: {gift.get('title')}")
print(f"Description: {gift.get('description')}")
print(f"Price: {gift.get('price')}")
else:
print("Failed to retrieve gifts")
if result:
print(f"Error: {result.get('description')}")
История изменений
- API 8.0. Добавлен метод getAvailableGifts
Дополнительно
- Gifts - Объект, содержащий массив подарков в Telegram Bot API.