Skip to main content

Rewards & Events

TL;DR

Events are how members earn RSNC. Configure what gets rewarded, how much, and when.

Quick Reference

Setting / CommandWhat It DoesExample
action:createCreates a new event/config events action:create name:daily_chat reward:10
action:editEdits an existing event/config events action:edit name:daily_chat reward:15
action:deleteRemoves an event/config events action:delete name:daily_chat
cooldownHours between reward claimscooldown:24
max-claimsMax claims per day per usermax-claims:5
triggerWhat activates the eventtrigger:keyword
keywordsComma-separated keyword listkeywords:http,https
min-lengthMinimum character thresholdmin-length:100
min-reactionsReaction count thresholdmin-reactions:5
channelsRestrict event to channelschannels:general,announcements
emojiCustom emoji for reward notificationemoji:⭐,🎉

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

TypeDescription
KeywordFires when a message contains one or more specified keywords
Min LengthFires when a message meets a minimum character count
Reaction CountFires when a message accumulates a set number of reactions
ChannelFires 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

TypeDescriptionExample Threshold
message_countTotal messages sent500
reaction_countReactions the user has given200
voice_timeHours spent in voice channels50
streak_lengthCurrent active streak in days30
total_rewardsTotal RSNC earned1000
reactions_receivedReactions received on the user's messages100

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 LengthMultiplier
3+ days1.1x
7+ days1.25x
14+ days1.5x
30+ days2.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

EffectDescriptionRange
multiplierScales all rewards by a factor1.0x – 5.0x
flat_bonusAdds a fixed RSNC amount to every rewardAny positive integer
cooldown_reductionReduces event cooldown durationPercentage or hours

Stacking Modes

When a member holds multiple roles that each carry a reward effect, the stacking mode determines how those effects combine:

ModeBehavior
multiplicativeEach multiplier is applied on top of the previous (default)
additiveAll multipliers are summed before applying
highest_onlyOnly 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.