rustigram-types 0.9.2

Telegram Bot API type definitions for rustigram
Documentation
use crate::sticker::Sticker;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
/// A Telegram gift that can be sent to users.
///
/// Retrieve available gifts with [`getAvailableGifts`](https://core.telegram.org/bots/api#getavailablegifts).
pub struct Gift {
    /// Unique gift identifier.
    pub id: String,
    /// The sticker that represents this gift.
    pub sticker: Sticker,
    /// Number of Telegram Stars that must be paid to send this gift.
    pub star_count: u32,
    /// Number of Telegram Stars required to upgrade this gift to a unique gift.
    pub upgrade_star_count: Option<u32>,
    /// Total number of gifts of this type that can be sent; `None` if unlimited.
    pub total_count: Option<u32>,
    /// Number of remaining gifts of this type that can be sent.
    pub remaining_count: Option<u32>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
/// Collection of available gifts returned by `getAvailableGifts`.
pub struct Gifts {
    /// The list of available gifts.
    pub gifts: Vec<Gift>,
}