Ticket Categories

Complete guide to creating and managing ticket categories

Categories Overview

Ticket categories allow you to organize different types of support requests. This guide covers:

  • Understanding category structure
  • Setting up categories in Discord
  • Configuring permissions and access
  • Managing category workflows
  • Best practices for organization

Category Structure

1. Category Components

Each category consists of:

  • ID: Unique identifier for the category
  • Name: Display name for the category
  • Description: Brief description of the category
  • Channel ID: Discord channel where tickets are created
  • Emoji: Visual identifier (optional)
  • Required Roles: Roles needed to create tickets
  • Blocked Roles: Roles prevented from creating tickets

2. Database Schema

interface ITicketCategory {
  id: string;
  name: string;
  description: string;
  channelId: string;
  emoji?: string;
  requiredRoles: string[];
  blockedRoles: string[];
}

Creating Categories

1. Discord Channel Setup

  1. Create a dedicated channel for tickets (e.g., #support-tickets)
  2. Set appropriate permissions for the channel
  3. Ensure the bot has access to the channel
  4. Note the channel ID for configuration

2. Category Configuration

Categories are configured through the bot's database. Each guild can have multiple categories:

  • General Support: Basic help and questions
  • Technical Issues: Bug reports and technical problems
  • Billing Support: Payment and subscription issues
  • Feature Requests: Suggestions and improvements

3. Example Category Setup

// Example category configuration
{
  id: "general-support",
  name: "General Support",
  description: "Get help with general questions and issues",
  channelId: "1234567890123456789",
  emoji: "🎫",
  requiredRoles: [],
  blockedRoles: ["@Banned"]
}

Permission Configuration

1. Required Roles

Configure which roles are required to create tickets in each category:

  • None: Anyone can create tickets
  • Specific Role: Only users with that role can create tickets
  • Multiple Roles: Users need any of the specified roles

2. Blocked Roles

Configure which roles are blocked from creating tickets:

  • Banned Users: Prevent banned users from creating tickets
  • Muted Users: Prevent muted users from creating tickets
  • Custom Roles: Block specific roles as needed

3. Permission Examples

General Support

  • Required Roles: None
  • Blocked Roles: @Banned, @Muted
  • Access: Anyone can create tickets

Premium Support

  • Required Roles: @Premium, @VIP
  • Blocked Roles: @Banned
  • Access: Only premium users

Bug Reports

  • Required Roles: @Tester, @Developer
  • Blocked Roles: @Banned
  • Access: Only testers and developers

Category Management

1. Adding Categories

Categories are managed through the bot's database. To add a new category:

  1. Create the Discord channel
  2. Configure channel permissions
  3. Add category to the guild configuration
  4. Test the category functionality

2. Updating Categories

  • Modify category settings in the database
  • Update channel permissions as needed
  • Test changes with different user roles
  • Monitor category usage

3. Removing Categories

Warning: Removing a category will prevent new tickets from being created in that category. Existing tickets will remain active.

Button Interface

1. Button Creation

The bot creates buttons in configured channels for ticket creation:

  • Buttons are automatically generated for each category
  • Button text includes the category name and emoji
  • Buttons are placed in the designated channel
  • Permissions are checked when buttons are clicked

2. Button Interaction

// Button custom ID format
ticket_{categoryId}

// Example button IDs
ticket_general-support
ticket_technical-issues
ticket_billing-support

3. Button Permissions

  • Buttons are visible to all users
  • Permission checks happen when clicked
  • Users without required roles get error messages
  • Blocked users cannot create tickets

Best Practices

1. Category Design

  • Use clear, descriptive names
  • Keep categories focused and specific
  • Use appropriate emojis for visual distinction
  • Limit the number of categories (3-5 recommended)

2. Permission Strategy

  • Start with open categories and add restrictions as needed
  • Use role-based access for specialized categories
  • Regularly review and update permissions
  • Document permission requirements

3. Channel Organization

  • Use dedicated channels for each category
  • Set appropriate channel permissions
  • Consider channel visibility and access
  • Monitor channel activity and usage

4. Maintenance

  • Regularly review category performance
  • Update categories based on usage patterns
  • Clean up unused categories
  • Monitor and optimize workflows

Troubleshooting

Common Issues

Buttons Not Appearing

  • Check if category is configured
  • Verify bot permissions in channel
  • Check category configuration
  • Refresh Discord client

Permission Errors

  • Verify required roles are set correctly
  • Check if user has required roles
  • Review blocked roles configuration
  • Test with different user accounts

Channel Issues

  • Check channel exists and is accessible
  • Verify bot permissions in channel
  • Check channel ID configuration
  • Test channel permissions

Category Not Working

  • Check category configuration in database
  • Verify channel ID is correct
  • Test category permissions
  • Review bot logs for errors

Next Steps

After setting up your categories:

  1. Configure Auto-Close - Set up automatic ticket management
  2. Set Up Permissions - Configure role-based access
  3. Configure Dashboard - Set up the web interface
  4. Manage Staff - Assign and train support staff