Rewards & Events
Events are how members earn RSNC. Configure what gets rewarded, how much, and when.
Quick Reference
| Setting / Command | What It Does | Example |
|---|---|---|
action:create | Creates a new event | /config events action:create name:daily_chat reward:10 |
action:edit | Edits an existing event | /config events action:edit name:daily_chat reward:15 |
action:delete | Removes an event | /config events action:delete name:daily_chat |
cooldown | Hours between reward claims | cooldown:24 |
max-claims | Max claims per day per user | max-claims:5 |
trigger | What activates the event | trigger:keyword |
keywords | Comma-separated keyword list | keywords:http,https |
min-length | Minimum character threshold | min-length:100 |
min-reactions | Reaction count threshold | min-reactions:5 |
channels | Restrict event to channels | channels:general,announcements |
emoji | Custom emoji for reward notification | emoji:⭐,🎉 |
Creating Events
Use /config events action:create to set up a new reward event. Every event requires a name, a reward amount, and a cooldown.
/config events action:create name:my_event reward:10 cooldown:24
This creates an event called my_event that pays out 10 RSNC with a 24-hour cooldown between claims.
Event Types Overview
| Type | Description |
|---|---|
| Keyword | Fires when a message contains one or more specified keywords |
| Min Length | Fires when a message meets a minimum character count |
| Reaction Count | Fires when a message accumulates a set number of reactions |
| Channel | Fires for qualifying messages posted in specified channels |
Trigger Types
keyword
Fires when a message contains any of the listed keywords. Useful for rewarding link sharing, mentions of specific topics, or community callouts.
/config events action:create name:share_link trigger:keyword keywords:http,https reward:5 cooldown:12
Keywords are comma-separated and matched case-insensitively.
min_length
Fires when a message body meets or exceeds a minimum character count. Encourages substantive contributions over short replies.
/config events action:create name:quality_post trigger:min_length min-length:100 reward:10 cooldown:24
reaction_count
Fires when a message receives at least N reactions. Rewards content that resonates with the community.
/config events action:create name:popular_post trigger:reaction_count min-reactions:5 reward:20 cooldown:48
The reaction threshold applies to the total reaction count across all emoji on a single message.
Channel-Based
Bind an event to one or more specific channels. Only messages posted in the listed channels will be eligible.
/config events action:create name:announcements_engage trigger:min_length min-length:50 channels:general,announcements reward:8 cooldown:24
Multiple channels are comma-separated. Channel names are resolved at configuration time — rename a channel and re-apply the event if needed.
Configurable Emojis
New feature. Each event can display a custom emoji in its reward notification message. Pass a comma-separated list and Resonance will pick one at random each time the event fires.
/config events action:edit name:my_event emoji:⭐,🎉
To reset back to the default notification style, use:
/config events action:edit name:my_event emoji:none
Custom emoji from your server are supported — use their full name as it appears in Discord (e.g., emoji:custom_gem).
Channel Events
New feature. Channel events enforce a min_characters floor on all qualifying messages. The default threshold is 20 characters, which filters out low-effort responses like "hi", "ok", or single emoji reactions that would otherwise trigger the event.
Configure the threshold using min-length:
/config events action:create name:lounge_chat trigger:min_length min-length:20 channels:lounge reward:5 cooldown:6
Raising this value increases the quality bar. A threshold of 100+ is appropriate for channels where you want to reward detailed contributions. The min_characters check applies on top of any other trigger conditions.
Cooldowns
Cooldowns prevent reward farming and spread engagement more evenly across your community. Resonance supports three independent cooldown layers:
Event Cooldown
The minimum number of hours that must pass before the same user can claim a reward from the same event again.
/config events action:create name:daily_chat reward:10 cooldown:24
Set to 0 to allow unlimited claims (not recommended without a daily charge limit).
Daily Charge Limit
Caps the total number of times a user can claim a reward from a single event per calendar day (UTC).
/config events action:edit name:daily_chat max-claims:5
This is independent of the event cooldown — both limits apply simultaneously.
Per-Message Cooldown
Prevents rapid-fire claims from bursts of qualifying messages in a short window. This is automatically enforced on events where the reward rate could otherwise be gamed by posting many messages quickly. No additional configuration is required.
Milestones
Milestones are role rewards that are automatically assigned when a member meets a defined set of criteria. They are configured in two steps: create the milestone, then attach criteria to it.
Step 1 — Create the Milestone
/milestone create role:@GoldMember name:"Gold Member"
The role must already exist in your server. Resonance will assign this role automatically when all criteria are satisfied.
Step 2 — Add Criteria
/milestone add-criteria role:@GoldMember type:message_count threshold:500
Repeat this command to attach multiple criteria to the same milestone.
Criteria Types
| Type | Description | Example Threshold |
|---|---|---|
message_count | Total messages sent | 500 |
reaction_count | Reactions the user has given | 200 |
voice_time | Hours spent in voice channels | 50 |
streak_length | Current active streak in days | 30 |
total_rewards | Total RSNC earned | 1000 |
reactions_received | Reactions received on the user's messages | 100 |
Multiple criteria on the same milestone use AND logic — all criteria must be met before the role is assigned. When a member satisfies all conditions, the role is applied automatically without any manual action from staff.
Streaks
Streaks reward members who engage consistently day over day. The longer a streak, the higher the multiplier applied to all event rewards.
Streak Multipliers
| Streak Length | Multiplier |
|---|---|
| 3+ days | 1.1x |
| 7+ days | 1.25x |
| 14+ days | 1.5x |
| 30+ days | 2.0x |
Multipliers are applied at reward calculation time and stack with role-based multipliers.
Grace Period
The grace period is the window after midnight (UTC) in which a member can still post and maintain their streak. The default is 24 hours, configurable between 1 and 72 hours.
/config streaks grace-period:36
A longer grace period accommodates members across multiple time zones. A shorter period enforces stricter daily engagement. Once the grace period expires without a qualifying post, the streak resets to zero.
Role Rewards
Role rewards let you boost earnings for members with specific roles. This is useful for rewarding moderators, boosters, early supporters, or any tiered membership structure.
Effect Types
| Effect | Description | Range |
|---|---|---|
multiplier | Scales all rewards by a factor | 1.0x – 5.0x |
flat_bonus | Adds a fixed RSNC amount to every reward | Any positive integer |
cooldown_reduction | Reduces event cooldown duration | Percentage or hours |
Stacking Modes
When a member holds multiple roles that each carry a reward effect, the stacking mode determines how those effects combine:
| Mode | Behavior |
|---|---|
multiplicative | Each multiplier is applied on top of the previous (default) |
additive | All multipliers are summed before applying |
highest_only | Only the single highest multiplier is used |
Configure stacking mode per effect type using /config roles.
Third-Party Bots
Resonance can track activity from third-party Discord bots and credit RSNC rewards when those bots announce member achievements or interactions.
Supported Bots
Mee6, Arcane, Tatsu, Carl-bot, The Engage, Rumble Royale, Lurkr, Atom, Dyno, AmariBot, ProBot, UnbelievaBoat, Zira, YAGPDB.
Enabling a Third-Party Bot
/config third-party enable bot:mee6
Replace mee6 with the bot's name from the list above (lowercase, no spaces). Once enabled, Resonance will listen for that bot's activity in your server and apply rewards accordingly.
To disable:
/config third-party disable bot:mee6
To view all currently enabled integrations:
/config third-party list
Each third-party integration can be paired with any of your existing events — configure reward amounts and cooldowns the same way you would for a native event.
Smart Rewards
When Smart Rewards is enabled, reward amounts scale based on message quality. Higher-effort contributions earn more RSNC than low-effort ones under the same event.
Enable Smart Rewards for an event:
/config events action:edit name:my_event smart-rewards:true
Smart Rewards works alongside your configured base reward amount — the base value acts as the floor, and quality multiplies upward from there. Cooldowns and daily charge limits apply to Smart Rewards events exactly as they do to standard events.