# Giveaway

> This object represents a message about a scheduled giveaway

**Category:** Telegram Bot API — Types (A-Z)  
**URL:** https://docs.botlify.cloud/giveaway  
**Platform:** Botlify Cloud (https://botlify.cloud)  

---

This object represents a message about a scheduled giveaway.

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| chats | Array of Chat | Always | The list of chats which the user must join to participate in the giveaway |
| winners_selection_date | Integer | Always | Point in time (Unix timestamp) when winners of the giveaway will be selected |
| winner_count | Integer | Always | The number of users which are supposed to be selected as winners of the giveaway |
| only_new_members | True | Optional | True, if only users who join the chats after the giveaway started should be eligible to win |
| has_public_winners | True | Optional | True, if the list of giveaway winners will be visible to everyone |
| prize_description | String | Optional | Description of additional giveaway prize |
| country_codes | Array of String | Optional | A list of two-letter ISO 3166-1 alpha-2 country codes indicating the countries from which eligible users for the giveaway must come. If empty, then all users can participate in the giveaway. Users with a phone number that was bought on Fragment can always participate in giveaways. |
| prize_star_count | Integer | Optional | The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only |
| premium_subscription_month_count | Integer | Optional | The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only |

> [!TIP]
> **Botlify Cloud Runtime**
> Credentials are auto-injected in .env — always load them with getenv(): BOT_TOKEN, ADMIN_CHAT_ID, BOT_USERNAME. Main database: database.db (SQLite, WAL mode). Runtime errors: error.log. Quick test: send to $ADMIN_CHAT_ID. Full details: Runtime Reference.
