# `ExGram.Model.Giveaway`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.64.0/lib/ex_gram.ex#L4508)

This object represents a message about a scheduled giveaway.

Check the [documentation of this model on Telegram Bot API](https://core.telegram.org/bots/api#giveaway)

- `chats`: The list of chats which the user must join to participate in the giveaway
- `winners_selection_date`: Point in time (Unix timestamp) when winners of the giveaway will be selected
- `winner_count`: The number of users which are supposed to be selected as winners of the giveaway
- `only_new_members (optional)`: Optional. True, if only users who join the chats after the giveaway started should be eligible to win
- `has_public_winners (optional)`: Optional. True, if the list of giveaway winners will be visible to everyone
- `prize_description (optional)`: Optional. Description of additional giveaway prize
- `country_codes (optional)`: 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 (optional)`: Optional. The number of Telegram Stars to be split between giveaway winners; for Telegram Star giveaways only
- `premium_subscription_month_count (optional)`: Optional. The number of months the Telegram Premium subscription won from the giveaway will be active for; for Telegram Premium giveaways only

# `t`

```elixir
@type t() :: %ExGram.Model.Giveaway{
  chats: [ExGram.Model.Chat.t()],
  country_codes: [String.t()] | nil,
  has_public_winners: boolean() | nil,
  only_new_members: boolean() | nil,
  premium_subscription_month_count: integer() | nil,
  prize_description: String.t() | nil,
  prize_star_count: integer() | nil,
  winner_count: integer(),
  winners_selection_date: integer()
}
```

# `decode_as`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
