Add comprehensive Support cog that automatically disables and replaces Red's built-in contact and dm commands with enhanced, feature-rich versions. Features: - Command override mechanism (disables core commands on load, restores on unload) - Multi-category support system with dedicated channels - Custom emojis, greetings, and descriptions per category - User blocking/unblocking system - Comprehensive logging to dedicated log channel - Anonymous mode for staff replies - Enhanced embed formatting - Category selection dropdown UI - Staff control buttons (Close Thread, Block User) - Reply modal for staff responses - Background thread cleanup task Commands: - [p]contact - Enhanced contact command (DM only) - [p]dm - Enhanced DM command with logging - [p]supportset - 15 admin configuration commands Documentation: - README.md - Full documentation (7.9K) - QUICKSTART.md - Quick setup guide (2.5K) - EXAMPLES.md - Configuration examples (8.1K) - TECHNICAL.md - Technical docs (8.6K) - CHANGELOG.md - Version history - test_override.py - Override mechanism reference Technical: - 625 lines of code - 33 async functions - Full type hints - Config-based data storage - Red 3.5.0+ compatible - Follows NexusCore patterns Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
8.1 KiB
8.1 KiB
Support Cog - Configuration Examples
Example Configurations for Different Server Types
1. Small Community Server
Use Case: Simple support system with one channel
[p]supportset enable
[p]supportset addcategory support #staff-support Questions and support
[p]supportset defaultcategory support
[p]supportset setemoji support 💬
[p]supportset setgreeting support Thanks for reaching out! We'll respond as soon as possible.
Result: Users send [p]contact <message> → goes to #staff-support
2. Gaming Server
Use Case: Different support for different game aspects
# Enable and create categories
[p]supportset enable
[p]supportset addcategory general #general-support General questions
[p]supportset addcategory gameplay #gameplay-help Gameplay questions
[p]supportset addcategory bugs #bug-reports Report bugs
[p]supportset addcategory appeals #appeals Ban appeals
# Set emojis
[p]supportset setemoji general 💬
[p]supportset setemoji gameplay 🎮
[p]supportset setemoji bugs 🐛
[p]supportset setemoji appeals ⚖️
# Custom greetings
[p]supportset setgreeting gameplay Our helpers will assist you shortly!
[p]supportset setgreeting bugs Thank you for reporting! We'll investigate this.
[p]supportset setgreeting appeals Your appeal will be reviewed within 48 hours.
# Settings
[p]supportset requirecategory true
[p]supportset logchannel #support-logs
[p]supportset defaultcategory general
3. Business/Professional Server
Use Case: Department-based support with anonymity
# Setup categories
[p]supportset enable
[p]supportset addcategory sales #sales-inquiries Sales and pricing
[p]supportset addcategory technical #tech-support Technical support
[p]supportset addcategory billing #billing-support Billing and payments
[p]supportset addcategory general #general-support General inquiries
# Emojis
[p]supportset setemoji sales 💼
[p]supportset setemoji technical 🔧
[p]supportset setemoji billing 💳
[p]supportset setemoji general 📝
# Professional greetings
[p]supportset setgreeting sales Thank you for your interest! A sales representative will contact you within 24 hours.
[p]supportset setgreeting technical Our technical team has received your request and will respond shortly.
[p]supportset setgreeting billing Your billing inquiry has been received. Response time: 1-2 business days.
# Professional settings
[p]supportset anonymous false
[p]supportset showinfo true
[p]supportset embed true
[p]supportset requirecategory true
[p]supportset logchannel #support-audit
4. Community Moderation Server
Use Case: Anonymous reporting and moderation
# Setup
[p]supportset enable
[p]supportset addcategory report #user-reports Report users
[p]supportset addcategory appeal #mod-appeals Appeal mod actions
[p]supportset addcategory question #mod-questions Moderation questions
# Emojis
[p]supportset setemoji report 🚨
[p]supportset setemoji appeal ⚖️
[p]supportset setemoji question ❓
# Anonymous settings for user safety
[p]supportset anonymous true
[p]supportset showinfo false
# Greetings
[p]supportset setgreeting report Thank you for your report. Moderators will investigate.
[p]supportset setgreeting appeal Your appeal has been submitted and will be reviewed.
# Settings
[p]supportset requirecategory true
[p]supportset logchannel #mod-logs
[p]supportset embed true
5. Educational/Tutorial Server
Use Case: Help system for learning community
# Categories
[p]supportset enable
[p]supportset addcategory beginner #beginner-help Beginner questions
[p]supportset addcategory advanced #advanced-help Advanced topics
[p]supportset addcategory projects #project-help Project assistance
[p]supportset addcategory resources #resource-requests Resource requests
# Emojis
[p]supportset setemoji beginner 🌱
[p]supportset setemoji advanced 🎓
[p]supportset setemoji projects 💡
[p]supportset setemoji resources 📚
# Encouraging greetings
[p]supportset setgreeting beginner Great question! Our community mentors will help you out.
[p]supportset setgreeting advanced Excellent question! Let's dive into it.
[p]supportset setgreeting projects Excited to see your project! We'll take a look.
# Settings
[p]supportset requirecategory false # Allow flexible categorization
[p]supportset defaultcategory beginner
[p]supportset showinfo true
[p]supportset anonymous false
6. Large Multi-Purpose Server
Use Case: Comprehensive support system
# Create all categories
[p]supportset enable
# Support categories
[p]supportset addcategory general #general-support General questions
[p]supportset addcategory technical #tech-support Technical issues
[p]supportset addcategory events #event-support Event-related questions
[p]supportset addcategory partnerships #partnerships Partnership inquiries
[p]supportset addcategory billing #billing Billing and donations
# Moderation categories
[p]supportset addcategory reports #user-reports Report users
[p]supportset addcategory appeals #ban-appeals Ban appeals
[p]supportset addcategory feedback #feedback Feedback and suggestions
# Set all emojis
[p]supportset setemoji general 💬
[p]supportset setemoji technical 🔧
[p]supportset setemoji events 🎉
[p]supportset setemoji partnerships 🤝
[p]supportset setemoji billing 💳
[p]supportset setemoji reports 🚨
[p]supportset setemoji appeals ⚖️
[p]supportset setemoji feedback 💡
# Default settings
[p]supportset defaultcategory general
[p]supportset requirecategory true
[p]supportset logchannel #support-logs
[p]supportset embed true
[p]supportset showinfo true
[p]supportset anonymous false
Common Staff Workflows
Handling a Support Request
- User sends:
[p]contact I can't access my account - Message appears in category channel with user info
- Staff investigates the issue
- Staff replies:
[p]dm @User We've reset your account, try logging in now - User receives the DM reply
- All logged in #support-logs (if configured)
Blocking an Abusive User
# After receiving spam/abuse
[p]supportset block @SpamUser
# User can no longer contact support
# To unblock later:
[p]supportset unblock @SpamUser
Checking Current Setup
# View all settings and categories
[p]supportset list
# This shows:
# - Enabled status
# - All categories and their channels
# - Current settings (anonymous, embeds, etc.)
# - Log channel
Pro Tips
1. Category Strategy
- Keep it simple - Start with 2-3 categories
- Clear names - Use obvious category names
- Good emojis - Pick recognizable emojis that match the purpose
2. Greetings
- Set expectations - Mention response times
- Be welcoming - Friendly tone encourages good interactions
- Be specific - Different greetings for different categories
3. Settings
- Anonymous mode - Use for sensitive topics (reports, appeals)
- Require category - Enable for large servers with many categories
- Show info - Disable for anonymous support, enable for personal support
4. Logging
- Always enable - Helps track support quality and history
- Separate channel - Keep logs in admin-only channel
- Review regularly - Monitor for patterns and issues
Troubleshooting
Users can't contact support
# Check if enabled
[p]supportset list
# Enable if needed
[p]supportset enable
# Ensure category exists
[p]supportset addcategory general #support
Messages not showing up
# Verify channel exists and bot has permission
[p]supportset list
# Update channel if needed
[p]supportset addcategory <name> #new-channel
User blocked accidentally
[p]supportset unblock @User
Migration from Red Built-in
If you're migrating from Red's built-in contact system:
- Load the cog:
[p]load support - Set up categories: Start with one category matching your old setup
- Test it: Have staff test with
[p]contactin DMs - Announce to users: Let them know about the new system
- The cog automatically overrides the built-in commands
No data migration needed - this is a fresh start with better organization!