Changelog
Recent updates to the Resonance Discord bot.
May 2026
Program Wizard Command (May 9)
New /program command for configuring your reward program directly from Discord. A guided modal wizard walks through budget, tolerance, category weights, and split settings. Subcommands: show, migrate, advanced, disable.
Signal Subscriber Role Sync (May 10)
Active Signal subscribers are automatically granted a designated Discord role. The role is revoked when the subscription lapses or is cancelled. Configure the role ID in your server settings.
Notification Channel Sync (May 11)
/config notification-channel now syncs the configured channel to the Partner Portal. This ensures /program show and scheduled reports use the same channel — no more "no channel configured" warnings after setting one via Discord.
Social Link: Global URL Dedup (May 9)
Shared URLs (e.g. tweets) are now deduplicated globally across all servers. Previously, the same tweet could earn rewards in multiple servers independently.
Social Link: Embed Text Matching (May 9)
The keyword gate now evaluates the content of unfurled embeds (e.g. tweet body text), not just the user's message. On-topic tweets posted as bare URLs are no longer incorrectly rejected.
Social Link: Keyword Gate Feedback (May 9)
When a shared link doesn't match any configured keywords, the bot now reacts with a note emoji and DMs the user the keyword list so they understand why no reward was given.
Reply Anti-Farm (May 9)
Reply-based rewards now apply diminishing returns when the same user repeatedly replies to the same person. Replying to a single recipient yields 100% on the first reply that week, 50% on the second, 33% on the third, and a 10% floor from the fifth onward. Replying to the same message more than once in a week yields nothing.
Balance: Privy Linked Wallets (May 9)
/balance now includes wallets linked via the Perks portal (Privy), not just wallets linked via the /link wallet command. Balances match what users see on perks.rsnc.network.
Kitchen Drop Notifications (May 11)
Ingredient and material drops from the crafting system are now posted to the brand's notification channel instead of being sent as DMs. Rare drops include an embed with a mention; common drops use an inline text post.
March 2026
Reaction Threshold Awards (Mar 16)
Rewards now trigger based on unique reactor count — not total reactions. Threshold tiers at 3, 5, 7, 10, 15, 20, 25, and 50 unique users. See: Drops & Reactions
Admin Command Restrictions (Mar 13)
Admin commands (/config, /drop, /stats, etc.) are now hidden from non-admin users in Discord's command picker. A centralized runtime permission gate provides defense-in-depth.
See: Permissions & Security
Self-Similarity Detection (Mar 12)
The bot now detects users paraphrasing their own previous messages to farm rewards. Falls back to max_similarity threshold by default.
See: Anti-Spam & Quality
Cross-Channel Copy Detection (Mar 6)
Copy-pasting content across channels is now detected server-wide. Automatically enforced when similarity detection is enabled. See: Anti-Spam & Quality
Configurable Emojis (Feb 27)
Admins can now set custom reaction emojis per event. Use comma-separated values for random selection (e.g., emoji:⭐,🎉).
See: Rewards & Events
Queue Management (Feb 26)
New /queue command for managing reward distribution: status, retry, and unstick subcommands.
See: Analytics & Operations
Channel Event Quality Defaults (Feb 24)
Channel-based events now enforce a minimum character count (default: 20) to prevent low-effort messages from earning rewards. See: Rewards & Events
Milestone Criteria Overhaul (Feb 20)
New milestone criteria types: reactions_received, voice_time. Multi-criteria milestones use AND logic.
See: Rewards & Events
Cross-Wallet Balance Aggregation (Feb 20)
/balance now aggregates across all linked wallets.
Bug Fixes
- Users now receive notifications for reaction drop claims and third-party bot rewards
- Per-message cooldown enforcement for quality message rewards