Daily Rewards Setup
Requirements
- AthenaBot 2.2.0 or newer
- The
coreplugin enabled - A channel for the calendar
- An optional private channel for claim logs
canvasandmoment-timezone(auto-installed by Athena)
Installation
- Place the
daily_rewardsfolder inplugins/. - Start AthenaBot once to generate
configuration/daily_rewards.json5and install its packages. - Use
/setupto assigndaily_rewards_channel. - Assign
daily_rewards_logif staff should receive claim logs. - Set
settings.timezoneand choose year-round or single-month operation. - Review every reward pool and replace example role IDs or prize text.
- Restart AthenaBot after changing the local config.
- Run
/dailyrewards updateand test one claim with a disposable account.
Discord Permissions
AthenaBot needs:
- View Channel, Send Messages, Embed Links, and Attach Files in the calendar channel
- The same message permissions in the log channel when logging is enabled
- Manage Roles for
ROLErewards - A bot role above every reward role it needs to assign
Calendar Mode
Use settings.yearRound to select the schedule:
| Value | Behavior |
|---|---|
true | Uses every day of the current month. activeMonth, startDay, and endDay are ignored. |
false | Runs only during activeMonth, from startDay through endDay. |
activeMonth uses 1 for January through 12 for December.
Timezone And Update Time
Set a valid IANA timezone such as America/Chicago or Europe/London. The
plugin uses that timezone for daily claims, monthly selection, countdowns, and
the scheduled settings.updateTime. Invalid timezone values fall back to UTC.
Monthly Artwork
Place custom images inside:
plugins/daily_rewards/data/assets/
Then set the matching file under monthly_assets.backgrounds or
monthly_assets.leaderboards. Paths must be relative to the assets folder.
Leave a month blank to use the configured background color instead.
First Test
- Confirm
/dailyrewards updateposts the calendar and leaderboard. - Check that the current day is highlighted and its claim button is enabled.
- Claim from a disposable member account.
- Confirm a second claim is blocked for the same date.
- Verify the reward, private response, leaderboard update, and log entry.
settings.testing.enabled bypasses normal stale-calendar and duplicate-claim
protections. Use it only while setting up the plugin, then turn it off before
members can access the calendar.