Drops & Engagement Events
Create engaging events where users react or click to claim rewards.
Default Events
When you run /setup connect, the bot creates 3 default events:
| Event | Description | Reward | Limit |
|---|---|---|---|
daily_checkin | GM/GN pattern detection | 2 RSNC | 1 per 24hrs |
news_tracker | Emoji reaction drops for announcements | 5 RSNC | 1 per user per message |
regular_engagement | Quality message contributions | 10 RSNC | 5 per day |
These are fully customizable via /config events or the Partner Portal.
Channel Watch (Auto-Instanced Drops)
The most powerful way to reward engagement with announcements. Instead of manually creating a reaction drop for every message, bind a template event to a channel and let the bot handle the rest.
How It Works
- You run
/watch start channel:#announcements - Every new message in #announcements automatically gets a reaction drop
- Users react to earn RSNC — each message is tracked independently
- No message IDs to copy, no
/dropcommands to run
/watch start
/watch start channel:#announcements
/watch start channel:#announcements event:news_tracker emoji:📰 reward:10
| Parameter | Required | Description | Default |
|---|---|---|---|
channel | Yes | Channel to watch | - |
event | No | Event template to use | news_tracker |
emoji | No | Emoji for reactions | From event config |
reward | No | Override reward amount | From event config |
/watch stop
/watch stop channel:#announcements
Stops creating new drops in the channel. Existing drops on messages remain active.
/watch list
/watch list
Shows all watched channels with their event type, emoji, and reward.
Example Workflow
1. /setup connect brand_id:0x... security_key:...
→ 3 default events created (daily_checkin, news_tracker, regular_engagement)
2. /watch start channel:#announcements event:news_tracker emoji:📰
→ #announcements is now watched
3. Post "Big product update!" in #announcements
→ Bot auto-adds 📰 reaction to the message
→ A reaction drop is created for that specific message
4. Users react with 📰 → each earns 5 RSNC
→ 1 claim per user per message (independent tracking)
5. Post "Weekly community news" in #announcements
→ Another independent reaction drop, same process
Channel watch works great with:
- Announcement channels — restricted to admins, each post is meaningful
- News channels — curated updates your community should engage with
- Update channels — product releases, patch notes, etc.
The /drop Command
Create one-off button-based or reaction-based drops linked to your custom events.
Button Drop (Default)
Posts a message with a claim button:
/drop event_id:announcement_reward label:"Claim Reward" description:"Thanks for being here!"
Reaction Drop
Attach a drop to an existing message:
/drop event_id:announcement_reward type:reaction message_id:123456789 emoji:🎉 lifespan:2h
Command Options
| Parameter | Required | Description | Default |
|---|---|---|---|
event_id | Yes | Event ID from your events | - |
type | No | button or reaction | button |
message_id | No | Message to attach reaction to | - |
emoji | No | Single emoji for reaction drops | 🎉 |
emojis | No | Comma-separated emojis for polls — any one counts (e.g. 1️⃣,2️⃣,3️⃣,4️⃣,5️⃣) | - |
lifespan | No | How long drop is active | 24h |
label | No | Button text | "Claim" |
description | No | Message above the drop | - |
Lifespan Options
Time-based:
1s- 1 second (testing)5m- 5 minutes2h- 2 hours24h- 24 hours (default)168h- 1 week (maximum timed)
Permanent:
permanent- Never expires0- Never expiresunlimited- Never expiresforever- Never expires
Embedding Drops in Announcements
For one-off drops (when you don't have channel watch set up):
Step 1: Post Your Announcement
Write and post your announcement normally:
@everyone 🎉 Big news! We just hit 10,000 members!
Step 2: Get the Message ID
- Right-click the message
- Click "Copy Message ID"
- (Enable Developer Mode in Discord settings if you don't see this)
Step 3: Create the Reaction Drop
/drop event_id:celebration type:reaction message_id:PASTE_MESSAGE_ID lifespan:2h emoji:🎉
Step 4: Watch Users React!
The bot automatically:
- Adds the emoji to your message
- Tracks who reacts
- Sends rewards to claimers
- DMs users confirmation
Use /watch when you want every message in a channel to be rewarded automatically.
Use /drop when you want to reward a specific one-off message.
Event Integration
Drops pull settings from your event configuration:
-
Create event in Partner Portal:
- Name:
Announcement Celebration - Reward: 25 RSNC
- Max Claims Per User: 100 (first 100 users can claim)
- Name:
-
Use in Discord:
/drop event_id:announcement_celebration type:reaction message_id:123456 -
Event settings apply:
- Reward amount from event config
- Max claims respected
- Cooldowns honored
- Analytics tracked
Event names with spaces are automatically normalized:
"Announcement Celebration"→announcement_celebration- Both formats work in the command
Multi-Emoji Drops
Reaction drops can accept multiple emojis — any emoji in the set counts as a valid claim. This is useful for polls, sentiment checks, or letting users express preference while still earning rewards.
How Multi-Emoji Works
The drop stores an emojis[] array. When a user reacts with any emoji in that list, their claim is processed. The first emoji in the list is also seeded by the bot automatically.
emojis: ['1️⃣', '2️⃣', '3️⃣']
→ User reacts with 2️⃣ → reward granted
→ User reacts with 1️⃣ → also valid
Using Multi-Emoji in /drop
Pass a comma-separated list to the emojis parameter:
/drop event_id:poll_reward type:reaction message_id:123456789 emojis:1️⃣,2️⃣,3️⃣,4️⃣,5️⃣ lifespan:24h
The bot seeds all 5 reactions on the message automatically. Any one earns the reward.
Use emoji (single) for standard drops, emojis (comma-separated) for polls. If both are provided, emojis wins.
Atomic Drop Creation
Drops are written to KV before the bot seeds emoji reactions on the message. This eliminates the race window where a fast user could react before the drop was ready to accept claims.
Old flow: KV write → seed reactions → (brief gap) → user could miss claim New flow: KV write → seed reactions (any reaction during this step is already valid)
How Reaction Drops Work
- Admin creates drop (or channel watch auto-creates) → Bot writes drop to KV → Bot adds emoji to message
- Users react with the correct emoji (or any emoji in the set for multi-emoji drops)
- Bot validates:
- Active drop exists
- Correct emoji used (checked against
emojis[]array — any match is valid) - User hasn't claimed yet
- Max claims not reached
- Drop hasn't expired
- Event is enabled
- Reward sent → User receives RSNC
- Confirmation → Reaction added + DM sent
Manual Rewards
Reward users directly for valuable contributions.
Basic Usage
/reward user:@Username event_id:helpful_contribution
Common Event IDs
| Event | Suggested Use | Example Reward |
|---|---|---|
helpful_answer | Helping community members | 25 RSNC |
bug_report | Reporting bugs | 50 RSNC |
content_creation | Creating guides | 100 RSNC |
event_participation | Attending events | 20 RSNC |
Configuration
Configure which roles can use /reward in Partner Portal:
- Integrations → Discord → Manual Rewards
- Set allowed roles
- Restrict event types
- Set cooldowns
Channel-Based Event Triggers
Configure events to only trigger in specific channels:
In Partner Portal:
- Go to Events → Select your event
- Under Detection Methods, select Discord
- Enter allowed channels:
feedback, support, tech-talk
Behavior:
- Channels specified: Event only triggers in those channels
- Channels empty: Event triggers anywhere
- Channel names are case-insensitive
- Don't include
#prefix
Use Cases
| Event | Channels | Purpose |
|---|---|---|
| Bug Report | report-bugs | Focus reports |
| Tech Discussion | tech-talk, dev-chat | Quality tech content |
| GM Check-in | gm-gn | Prevent GM spam |
| Feedback | feedback, suggestions | Direct input |
Best Practices
Channel Watch Strategy
- Watch announcement-type channels where admin posts are meaningful
- Use specific emojis per channel (📰 for news, 🎉 for celebrations)
- Keep rewards modest (5-10 RSNC) since every post triggers a drop
- Review
/watch listperiodically to ensure watches are still relevant
Timing Your Drops
- Flash drops: Short lifespan (5-30 min) creates urgency
- Announcement drops: 2-24h gives everyone a chance
- Permanent drops: Use for evergreen content
Claim Limits
- First-come: Set
max-claimsto limit total claimers - Unlimited: Use for celebration events everyone should get
Engagement Tips
- Announce drops in your announcement channel
- Use relevant emojis that match the event
- Set appropriate rewards - not too high, not too low
- Track with
/statsto see engagement