Daily Rewards Configuration
When dashboard-backed configuration is enabled, use the Daily Rewards dashboard first because live settings may be stored in MongoDB instead of reading only the local JSON5 file.
Config Files
- Runtime config:
configuration/daily_rewards.json5 - English template:
plugins/daily_rewards/data/configs/en-daily_rewards.json5 - German template:
plugins/daily_rewards/data/configs/de-daily_rewards.json5 - Assets:
plugins/daily_rewards/data/assets/
Main Settings
| Field | Type | Default | Notes |
|---|---|---|---|
enabled | boolean | true | Enables calendar updates and claims. |
settings.updateTime | string | 00:00 | Local HH:mm time for the daily update. |
settings.timezone | string | Europe/London | IANA timezone used for all calendar dates. |
settings.yearRound | boolean | true | Uses the full current month when enabled. |
settings.activeMonth | integer | 12 | Event month from 1-12 when year-round mode is off. |
settings.startDay | integer | 1 | First claimable day in single-month mode. |
settings.endDay | integer | 24 | Last claimable day in single-month mode. |
settings.cooldownMs | integer | 5000 | Short per-member button cooldown. |
settings.updateCheckIntervalMs | integer | 60000 | How often the scheduler checks the local date and update time. |
settings.testing.enabled | boolean | false | Enables testing behavior and the configured test day. |
settings.testing.currentDay | integer | 1 | Calendar day used while testing is enabled. |
permissions.dailyrewards_command | string | management | Athena permission required for the update command. |
Image Settings
calendar_image controls the calendar background, overlay, current-day colors,
closed-day colors, borders, glow, and shadow. leaderboard_image controls the
leaderboard background, empty-state text, rows, ranks, names, and reward text.
All images render at 1600×1000 before Discord uploads them.
Monthly Assets
monthly_assets.backgrounds and monthly_assets.leaderboards contain one value
for each key from jan through dec. Use a relative filename from the plugin’s
data/assets folder or an empty string for the color-based fallback.
Absolute paths and paths that leave the assets directory are rejected.
Rarity Chances
monthly_chances contains a chance weight for every rarity and month:
common_rewardsuncommon_rewardsrare_rewardsepic_rewardslegendary_rewards
The values are weights. They do not need to total 100, but each active rarity must have a positive value and at least one reward. The plugin normalizes the eligible weights when it selects a reward.
Reward Pools
Each item inside rewards.<rarity> uses this shape:
{
type: "XP", // XP, COINS, ROLE, or MESSAGE
amount: 100, // Used by XP and COINS
content: "", // Used by MESSAGE
role_id: "" // Used by ROLE
}rarities.<rarity> controls the displayed name, embed color, thumbnail image,
and fallback chance. Monthly chance values are used for live selection.
Language And Placeholders
The lang section controls the command, reward responses, calendar embed,
leaderboard labels, countdowns, logs, and errors. Reward messages can use:
{content}, {role}, {amount}, {user}, {username}, {usertag},
{color}, {image}, {rarity}, and {roll}.
Calendar and log messages use additional values such as {day}, {endDay},
{month}, {year}, {count}, and {bot} where supported.
The plugin ships English and German config templates. The included custom dashboard schema is currently English.