Метод getAvailableGifts

Получает список доступных для отправки подарков.

Описание

Возвращает список подарков, которые бот может отправлять пользователям и каналам. Не требует параметров. Возвращает объект 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.
Комментарии