PaulCLI logoPaulCLI

Settings reference

Stored giveaway fields, defaults and limits.

SettingTypeDefaultMeaning
prizestringRequiredPrize title. Dashboard limit: 256 characters.
channelIdDiscord snowflakeRequiredText channel that receives the giveaway message.
hostIdDiscord user idRequesterUser shown as the giveaway host.
winnersCountinteger1Random winners to pick. Both UI paths allow 1–20.
endsAtDateTimeRequiredExact end time calculated from the chosen duration.
endedbooleanfalseWhether the giveaway has completed. Drafts are saved as true.
winnerIdsJSON string[]Winner user ids saved after ending or rerolling.
descriptionstring or nullnullDashboard host subtitle/custom blurb. Limit: 512 characters.
requiredRoleIdrole id or nullnullEntrants must hold this role.
minAccountAgeDaysinteger or nullnullMinimum account age. Dashboard accepts 0–3650; 0 becomes null.
layoutVersionlegacy or v2legacyClassic embed or components v2 layout.
embedColorhex colour or nullnullAccent colour. Fallback is Discord Blurple.
imageUrlhttp(s) URL or nullnullOptional banner image. Limit: 2048 characters.
buttonLabelstring or nullJoin Giveaway in code/UIJoin button text. Limit: 80 characters.
buttonStyleprimary, success, danger, secondaryprimaryJoin button colour style.
buttonEmojiemoji string or null🎉 in the dashboard formEmoji applied to the join button when present.
customTitlestring or null🎉 G I V E A W A Y 🎉 fallbackMessage title. Limit: 256 characters.
customDescriptionstring or nullClick the button below to enter! fallbackMain instructions/body. Limit: 2000 characters.
customFooterstring or nullID: <giveawayId> fallbackFooter text. Limit: 512 characters.
GiveawayEntryunique (giveawayId,userId)Created on joinPrevents one user from entering the same giveaway twice.

Duration formats

Slash commands accept 30s, 5m, 2h, 1d and 1w. The dashboard accepts an amount plus minutes, hours or days.