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
| Parameter | Required | Description |
|---|---|---|
item | Yes | Name of the item being raffled |
price | Yes | Price per ticket (0 for free raffles) |
slots | Yes | Number of tickets (1-100) |
payment_recipient | Yes | Discord user who receives payments |
image | No | URL to an image of the item |
Examples
Basic paid raffle:
/startmain item:Karambit Fade price:100 slots:50 payment_recipient:@HostFree raffle:
/startmain item:Steam Gift Card price:0 slots:25 payment_recipient:@HostWith image:
/startmain item:Karambit Fade price:100 slots:50 payment_recipient:@Host image:https://example.com/item.pngWhat Happens
- Frank validates all parameters
- Creates a forum thread in the appropriate channel:
- Price > 0 → Paid Raffles forum
- Price = 0 → Free Raffles forum
- Posts the raffle embed with all ticket slots
- Sends a ping message to notify users
- 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
| Error | Cause |
|---|---|
| "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
| Parameter | Required | Description |
|---|---|---|
item | Yes | Name (should match the linked main raffle) |
price | Yes | Price per ticket (0 for free minis) |
slots | Yes | Number of tickets in the mini (1-100) |
winner_count | Yes | How many winners to select |
tickets_to_reserve | Yes | Tickets each winner gets in main (1-10) |
linked_main_raffle | Yes | Main raffle to link to (autocomplete) |
payment_recipient | No | Who 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 FadePaid mini:
/startmini item:Karambit Fade price:25 slots:30 winner_count:1 tickets_to_reserve:5 linked_main_raffle:Karambit Fade payment_recipient:@HostWhat Happens
- Frank validates all parameters
- Checks that the main raffle has enough free slots:
- Required slots =
winner_count × tickets_to_reserve
- Required slots =
- Reserves tickets in the main raffle
- Creates a mini raffle thread in the Mini Raffles forum
- Posts the mini raffle embed
- 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_reservedExample:
- 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
| Error | Cause |
|---|---|
| "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 |