> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.petto.sbs/llms.txt
> Use this file to discover all available pages before exploring further.

# Giveaways

> Role-weighted entries, claim windows, reusable templates.

## Overview

Giveaways support a claim window so a winner has to actually accept the prize, not just be picked and forgotten.

## Starting one

<CodeGroup>
  ```javascript Syntax theme={null}
  !giveaway quick <duration> <winners> <prize> [channel]
  !giveaway start <duration> <winners> <prize> [channel] [claim_time] [preset] [embed_template] [entry_mode]
  !giveaway template <template_name> [channel]
  ```

  ```javascript Example theme={null}
  !giveaway quick 1h 1 Nitro
  !giveaway start 1d 3 "Steam key" #giveaways 5m boosters
  ```

  ```text Result theme={null}
  ✅ Giveaway started in #giveaways for Nitro.
  ```
</CodeGroup>

`quick` uses server defaults for everything else. `entry_mode` is `button` (default) or `reaction`.

## Managing one in progress

<CodeGroup>
  ```javascript Syntax theme={null}
  !giveaway reroll <message_id> [winners]
  !giveaway end <message_id>
  !giveaway edit <message_id> [prize] [winners] [duration]
  ```

  ```javascript Example theme={null}
  !giveaway reroll 123456789012345678
  !giveaway edit 123456789012345678 --winners 5
  ```
</CodeGroup>

## Server defaults

<CodeGroup>
  ```javascript Syntax theme={null}
  !giveaway embed <template>
  !giveaway reaction <emoji>
  !giveaway entry-mode <mode>
  ```

  ```javascript Example theme={null}
  !giveaway reaction 🎉
  !giveaway entry-mode reaction
  ```
</CodeGroup>

### Custom messages

Every stage has its own configurable message, all support `{gw.*}` and `{user}` [variables](/resources/scripting/variables):

<CodeGroup>
  ```javascript Syntax theme={null}
  !giveaway winner-message <message>
  !giveaway no-entries-message <message>
  !giveaway deny-message <message>
  !giveaway claim-time-message <message>
  !giveaway claim-time-over-message <message>
  !giveaway accept-message <message>
  ```

  ```javascript Example theme={null}
  !giveaway winner-message "{user} won **{gw.prize}**!"
  !giveaway no-entries-message "Nobody entered, no winner this time."
  ```
</CodeGroup>

`deny-message` fires when a winner denies their prize, `no-entries-message` fires when the giveaway ends with nobody entered, distinct from each other.

## Templates

Save a full giveaway configuration to relaunch later with `!giveaway template`.

<CodeGroup>
  ```javascript Syntax theme={null}
  !giveawaytemplate create <name> <prize> <winners> <duration> [channel] [claim_time] [preset] [embed_template] [entry_mode]
  !giveawaytemplate edit <name> [prize] [winners] [duration] [channel] [claim_time] [preset] [embed_template] [entry_mode]
  !giveawaytemplate remove <name>
  !giveawaytemplate list
  ```

  ```javascript Example theme={null}
  !giveawaytemplate create monthly-nitro Nitro 1 3d #giveaways
  ```
</CodeGroup>

## Related

<Card title="Bonus-Entry Presets" icon="star" href="/community/giveaway-presets">
  Give certain roles extra entries automatically.
</Card>
