Plugin Enhancement: Confessions — image/media attachments, anonymous replies, scheduled confessions
Enhance adb-plugin-confessions with image/media attachments, anonymous replies, scheduled posting, multi-channel support, and anonymous interaction.
Why
The current confessions plugin is text-only with basic approval. Users want to share images anonymously, reply to confessions, schedule posts, and have more interactive features like those in popular anonymous posting bots.
Spec
New Features:
1. Image/Media Attachments
/confess text <message> — Existing text submission (maintained)
/confess image <url> — Submit an image confession
/confess attachment <file> — Submit with file attachment (Discord attachment)
/confess embed <title> <description> — Submit as rich embed
- Supported: images (PNG, JPG, GIF, WebP), video (MP4, WebM), audio (MP3)
- Auto-embed media or send as attachment via webhook
- Max file size: Discord's 25MB or server config limit
2. Scheduled / Delayed Confessions
/confess schedule <content> <time> — Schedule a confession for later
/confess schedule list — Your pending scheduled confessions
/confess schedule cancel <id> — Cancel a scheduled confession
- Time formats:
2h, tomorrow 9am, next Monday, 2026-08-15T12:00:00Z
- Useful for: timed reveals, anniversary posts, scheduled burns
- Admin override:
/confess-admin schedule-list — see all pending scheduled posts
3. Anonymous Replies
- Reply via DM: if user A's confession gets posted, user B can reply to the bot's DM
/confess reply <confession-id> <message> — Reply to a specific confession
- Replies appear as a new confession prefixed with "In reply to confession #42:"
- Reply chain tracking: link replies to original confession
- Mod toggle:
/confess-admin allow-replies [on|off] — Enable reply system
- Reply notification to original author (anonymously, via DM)
4. Confession Themes / Formats
/confess rant <message> — Submit as a "rant" (different embed color/style)
/confess love <message> — Submit as a love confession 💕
/confess joke <message> — Submit as a joke 🤣
/confess advice <message> — Ask for advice
/confess secret <message> — Share a secret (default)
- Each type has a distinct embed color and emoji label
- Custom types via admin config
5. Multi-Channel Support
/confess-admin add-channel <#channel> [theme] — Add another output channel
/confess-admin remove-channel <#channel> — Remove a channel
- Assign themes per channel: #confessions → general, #rants → rant only
- Channel cooldowns independently configurable
- Cross-channel: user picks which channel to post to via select menu
6. Interactive Confession Feed
- React with ❤️ on confessions to show support (count shown)
- Confession reactions: ❤️ 😂 😮 😢 😡 — per-server configurable emoji set
- Popular confession: auto-pin confessions reaching X reactions
- Confession of the Week: auto-post a "Best of" embed every Monday
- React-only mode: no reply text, just emoji reactions
7. Admin Enhancements
/confess-admin stats — Total confessions, blocked users, approval rate
/confess-admin export — Export all confessions as JSON
/confess-admin word-filter add <word> — Auto-block confessions containing word
/confess-admin word-filter remove <word> — Remove blocked word
/confess-admin word-filter list — List blocked words
/confess-admin slowmode <seconds> — Cooldown time between confessions
/confess-admin require-account-age <days> — Min account age to confess
/confess-admin require-join-age <days> — Min time since joining server
Config Schema Additions:
{
// Existing config preserved
"channel": null,
"cooldown": 60,
"requireApproval": false,
// New:
"channels": [
{ "id": "", "theme": "general" }
],
"allowImages": true,
"maxFileSize": 25, // MB
"allowReplies": false,
"maxReplies": 3, // max replies per confession
"reactions": ["❤️", "😂", "😮", "😢", "😡"],
"popularThreshold": 10, // reactions to auto-pin
"weeklyBest": true,
"scheduledEnabled": true,
"maxScheduledPerUser": 5,
"wordFilter": [],
"requireAccountAge": 0, // days
"requireJoinAge": 0, // days
"themes": {
"default": { "color": "#9B59B6", "emoji": "🤫", "label": "Secret" },
"rant": { "color": "#E74C3C", "emoji": "😤", "label": "Rant" },
"love": { "color": "#FF69B4", "emoji": "💕", "label": "Love" },
"joke": { "color": "#F1C40F", "emoji": "🤣", "label": "Joke" },
"advice": { "color": "#3498DB", "emoji": "💡", "label": "Advice" }
}
}
Acceptance Criteria
Plugin Enhancement: Confessions — image/media attachments, anonymous replies, scheduled confessions
Enhance
adb-plugin-confessionswith image/media attachments, anonymous replies, scheduled posting, multi-channel support, and anonymous interaction.Why
The current confessions plugin is text-only with basic approval. Users want to share images anonymously, reply to confessions, schedule posts, and have more interactive features like those in popular anonymous posting bots.
Spec
New Features:
1. Image/Media Attachments
/confess text <message>— Existing text submission (maintained)/confess image <url>— Submit an image confession/confess attachment <file>— Submit with file attachment (Discord attachment)/confess embed <title> <description>— Submit as rich embed2. Scheduled / Delayed Confessions
/confess schedule <content> <time>— Schedule a confession for later/confess schedule list— Your pending scheduled confessions/confess schedule cancel <id>— Cancel a scheduled confession2h,tomorrow 9am,next Monday,2026-08-15T12:00:00Z/confess-admin schedule-list— see all pending scheduled posts3. Anonymous Replies
/confess reply <confession-id> <message>— Reply to a specific confession/confess-admin allow-replies [on|off]— Enable reply system4. Confession Themes / Formats
/confess rant <message>— Submit as a "rant" (different embed color/style)/confess love <message>— Submit as a love confession 💕/confess joke <message>— Submit as a joke 🤣/confess advice <message>— Ask for advice/confess secret <message>— Share a secret (default)5. Multi-Channel Support
/confess-admin add-channel <#channel> [theme]— Add another output channel/confess-admin remove-channel <#channel>— Remove a channel6. Interactive Confession Feed
7. Admin Enhancements
/confess-admin stats— Total confessions, blocked users, approval rate/confess-admin export— Export all confessions as JSON/confess-admin word-filter add <word>— Auto-block confessions containing word/confess-admin word-filter remove <word>— Remove blocked word/confess-admin word-filter list— List blocked words/confess-admin slowmode <seconds>— Cooldown time between confessions/confess-admin require-account-age <days>— Min account age to confess/confess-admin require-join-age <days>— Min time since joining serverConfig Schema Additions:
Acceptance Criteria