Plugin Enhancement: Giveaways — role requirements, server boost gates, multi-giveaways
Enhance adb-plugin-giveaways with entry requirements, role gates, scheduled multi-giveaways, and entry tracking.
Why
The current giveaways plugin works but lacks the advanced features users expect: restricting entries to certain roles, requiring invite counts, running multiple giveaways at once, and tracking entry history.
Spec
New Features:
1. Entry Requirements
/giveaway require-role <message-id> <role> — Restrict entry to a specific role
/giveaway require-level <message-id> <level> — Minimum level to enter (levels plugin integration)
/giveaway require-invites <message-id> <count> — Minimum invites (invite tracker integration)
/giveaway require-boost — Only server boosters can enter
/giveaway require-account-age <message-id> <days> — Min Discord account age
- Combined requirements shown on giveaway embed
2. Multi-Winner Enhancements
/giveaway start ... winners:5 role:@winner — Each winner gets a different role reward
- Tiered prizes: 1st place gets Role A, 2nd gets Role B, 3rd gets Role C
/giveaway start ... prize:"Role A, Role B, Role C" — Tiered prize list syntax
3. Scheduled Giveaways
/giveaway schedule <time> <prize> [duration] [winners] — Schedule a future giveaway
/giveaway schedule list — View scheduled giveaways
/giveaway schedule cancel <id> — Cancel a scheduled giveaway
- Recurring giveaways:
/giveaway schedule every <cron> <prize> [winners]
- Uses Timer/Scheduler system for delayed execution
4. Entry Tracking & History
/giveaway entries <message-id> — Count of entries (staff only)
/giveaway history [user] — Giveaways won by a user
/giveaway stats — Server giveaway stats (total giveaways, prizes given, total entrants)
- Entry audit log channel option
5. Bonus Entries
/giveaway bonus <message-id> <role> <extra-entries> — Members with a role get X extra entries
/giveaway bonus-boost <message-id> <extra-entries> — Boosters get extra entries
- Display: "You have 3 entries (base: 1, booster bonus: 2)"
6. UI/UX Improvements
- Live entry count on embed (updates every entry, not just on end)
- Progress bar for entry requirements (e.g., "[==== ] 4/10 invites")
- "Entered ✅" button state for users who already entered
- Auto-thread on giveaway for discussion/tagging friends
- Giveaway end countdown (editable embed with live timer)
Config Schema Additions:
{
"defaultDuration": "1h",
"maxWinners": 10,
"maxActiveGiveaways": 5,
"requireLevelIntegration": true,
"requireInviteIntegration": true,
"bonusEntriesEnabled": true,
"entryLogChannel": null,
"autoThreadOnStart": false,
"maxBonusEntries": 10
}
Acceptance Criteria
Plugin Enhancement: Giveaways — role requirements, server boost gates, multi-giveaways
Enhance
adb-plugin-giveawayswith entry requirements, role gates, scheduled multi-giveaways, and entry tracking.Why
The current giveaways plugin works but lacks the advanced features users expect: restricting entries to certain roles, requiring invite counts, running multiple giveaways at once, and tracking entry history.
Spec
New Features:
1. Entry Requirements
/giveaway require-role <message-id> <role>— Restrict entry to a specific role/giveaway require-level <message-id> <level>— Minimum level to enter (levels plugin integration)/giveaway require-invites <message-id> <count>— Minimum invites (invite tracker integration)/giveaway require-boost— Only server boosters can enter/giveaway require-account-age <message-id> <days>— Min Discord account age2. Multi-Winner Enhancements
/giveaway start ... winners:5 role:@winner— Each winner gets a different role reward/giveaway start ... prize:"Role A, Role B, Role C"— Tiered prize list syntax3. Scheduled Giveaways
/giveaway schedule <time> <prize> [duration] [winners]— Schedule a future giveaway/giveaway schedule list— View scheduled giveaways/giveaway schedule cancel <id>— Cancel a scheduled giveaway/giveaway schedule every <cron> <prize> [winners]4. Entry Tracking & History
/giveaway entries <message-id>— Count of entries (staff only)/giveaway history [user]— Giveaways won by a user/giveaway stats— Server giveaway stats (total giveaways, prizes given, total entrants)5. Bonus Entries
/giveaway bonus <message-id> <role> <extra-entries>— Members with a role get X extra entries/giveaway bonus-boost <message-id> <extra-entries>— Boosters get extra entries6. UI/UX Improvements
Config Schema Additions:
Acceptance Criteria