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>
291 lines
8.1 KiB
Markdown
291 lines
8.1 KiB
Markdown
# Support Cog - Configuration Examples
|
|
|
|
## Example Configurations for Different Server Types
|
|
|
|
### 1. Small Community Server
|
|
|
|
**Use Case:** Simple support system with one channel
|
|
|
|
```bash
|
|
[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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
1. **User sends:** `[p]contact I can't access my account`
|
|
2. **Message appears in category channel** with user info
|
|
3. **Staff investigates** the issue
|
|
4. **Staff replies:** `[p]dm @User We've reset your account, try logging in now`
|
|
5. **User receives** the DM reply
|
|
6. **All logged** in #support-logs (if configured)
|
|
|
|
### Blocking an Abusive User
|
|
|
|
```bash
|
|
# After receiving spam/abuse
|
|
[p]supportset block @SpamUser
|
|
|
|
# User can no longer contact support
|
|
# To unblock later:
|
|
[p]supportset unblock @SpamUser
|
|
```
|
|
|
|
### Checking Current Setup
|
|
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# Check if enabled
|
|
[p]supportset list
|
|
|
|
# Enable if needed
|
|
[p]supportset enable
|
|
|
|
# Ensure category exists
|
|
[p]supportset addcategory general #support
|
|
```
|
|
|
|
### Messages not showing up
|
|
```bash
|
|
# Verify channel exists and bot has permission
|
|
[p]supportset list
|
|
|
|
# Update channel if needed
|
|
[p]supportset addcategory <name> #new-channel
|
|
```
|
|
|
|
### User blocked accidentally
|
|
```bash
|
|
[p]supportset unblock @User
|
|
```
|
|
|
|
---
|
|
|
|
## Migration from Red Built-in
|
|
|
|
If you're migrating from Red's built-in contact system:
|
|
|
|
1. **Load the cog:** `[p]load support`
|
|
2. **Set up categories:** Start with one category matching your old setup
|
|
3. **Test it:** Have staff test with `[p]contact` in DMs
|
|
4. **Announce to users:** Let them know about the new system
|
|
5. **The cog automatically overrides** the built-in commands
|
|
|
|
No data migration needed - this is a fresh start with better organization!
|