My App
Commands

Creating Raffles

Commands for creating main and mini raffles

/startmain

Create a new main raffle for an item.

Syntax

/startmain item:<name> price:<number> slots:<number> payment_recipient:<user> [image:<url>]

Parameters

ParameterRequiredDescription
itemYesName of the item being raffled
priceYesPrice per ticket (0 for free raffles)
slotsYesNumber of tickets (1-100)
payment_recipientYesDiscord user who receives payments
imageNoURL to an image of the item

Examples

Basic paid raffle:

/startmain item:Karambit Fade price:100 slots:50 payment_recipient:@Host

Free raffle:

/startmain item:Steam Gift Card price:0 slots:25 payment_recipient:@Host

With image:

/startmain item:Karambit Fade price:100 slots:50 payment_recipient:@Host image:https://example.com/item.png

What Happens

  1. Frank validates all parameters
  2. Creates a forum thread in the appropriate channel:
    • Price > 0 → Paid Raffles forum
    • Price = 0 → Free Raffles forum
  3. Posts the raffle embed with all ticket slots
  4. Sends a ping message to notify users
  5. Raffle is now active and accepting claims

Validation Rules

  • Price must be 0 or greater
  • Slots must be between 1 and 100
  • Cannot create a raffle with the same name as an existing active raffle

Error Messages

ErrorCause
"Price must be 0 or greater"Negative price entered
"Slots must be between 1 and 100"Invalid slot count
"A raffle already exists with the same name"Duplicate raffle name

/startmini

Create a mini raffle linked to an existing main raffle. Mini winners receive free tickets in the main raffle.

Syntax

/startmini item:<name> price:<number> slots:<number> winner_count:<number> tickets_to_reserve:<number> linked_main_raffle:<name> [payment_recipient:<user>]

Parameters

ParameterRequiredDescription
itemYesName (should match the linked main raffle)
priceYesPrice per ticket (0 for free minis)
slotsYesNumber of tickets in the mini (1-100)
winner_countYesHow many winners to select
tickets_to_reserveYesTickets each winner gets in main (1-10)
linked_main_raffleYesMain raffle to link to (autocomplete)
payment_recipientNoWho receives payments (if price > 0)

Examples

Free mini with 2 winners getting 3 tickets each:

/startmini item:Karambit Fade price:0 slots:20 winner_count:2 tickets_to_reserve:3 linked_main_raffle:Karambit Fade

Paid mini:

/startmini item:Karambit Fade price:25 slots:30 winner_count:1 tickets_to_reserve:5 linked_main_raffle:Karambit Fade payment_recipient:@Host

What Happens

  1. Frank validates all parameters
  2. Checks that the main raffle has enough free slots:
    • Required slots = winner_count × tickets_to_reserve
  3. Reserves tickets in the main raffle
  4. Creates a mini raffle thread in the Mini Raffles forum
  5. Posts the mini raffle embed
  6. Sends a ping message

Slot Calculation

Before creating a mini, calculate the required slots:

Required = winner_count × tickets_to_reserve
Available = total_slots - claimed_tickets - already_reserved

Example:

  • Main raffle: 50 slots, 30 claimed, 6 already reserved for another mini
  • Available: 50 - 30 - 6 = 14 slots
  • You can create a mini for up to 14 reserved tickets (e.g., 2 winners × 7 tickets)

Final Mini Mode

When a mini creation causes the main raffle to enter "final mini mode":

  • Remaining free slots = total reserved for mini winners
  • Regular users can no longer claim tickets
  • Frank posts: "Raffle is now full pending final mini!"
  • Mini winners have 3 minutes to claim their tickets

Error Messages

ErrorCause
"Main raffle not found or is no longer active"Invalid or closed main raffle
"Main raffle does not have enough free slots"Not enough available slots
"Main raffle is already locked for mini winners"Main is in final mini mode
"Tickets to reserve must be between 1 and 10"Invalid reservation count

On this page