Agent skill
discord-create-channel
Create new channels in Discord guilds/servers via the Discord API. Use this skill when the user wants to create text channels, voice channels, announcement channels, or categories in a Discord server.
Install this agent skill to your Project
npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/discord-create-channel
SKILL.md
Discord Create Channel
Create new channels in Discord guilds (servers) using the Discord API v10. This skill supports creating text channels, voice channels, announcement channels, stage channels, and categories.
When to Use This Skill
Use this skill when the user wants to:
- Create a new text channel in a Discord server
- Create a new voice channel for meetings or discussions
- Create an announcement channel for server updates
- Create a category to organize channels
- Set up a new channel with specific permissions
- Create a stage channel for large audio events
Prerequisites
DISCORD_BOT_TOKENenvironment variable must be set- Bot must be a member of the target server
- Bot must have "Manage Channels" permission in the server
- Valid Discord guild ID (18-19 digit snowflake ID)
Channel Types
Discord supports the following channel types (use numeric value):
| Type | Value | Description |
|---|---|---|
| GUILD_TEXT | 0 | Text channel |
| GUILD_VOICE | 2 | Voice channel |
| GUILD_CATEGORY | 4 | Category (organizes channels) |
| GUILD_ANNOUNCEMENT | 5 | Announcement channel (one-way communication) |
| GUILD_STAGE_VOICE | 13 | Stage channel (audio events) |
Instructions
When the user requests to create a Discord channel:
-
Validate Requirements
- Confirm
DISCORD_BOT_TOKENis set in environment - Verify guild ID is provided (18-19 digit number)
- Ensure channel name is valid (2-100 characters, lowercase, hyphens/underscores only)
- Determine channel type (default to text channel if not specified)
- Confirm
-
Prepare Channel Properties
name: Channel name (required, 2-100 chars)type: Channel type (0=text, 2=voice, 4=category, 5=announcement, 13=stage)topic: Channel topic/description (optional, max 1024 chars for text channels)parent_id: Category ID to place channel in (optional)nsfw: Whether channel is NSFW (optional, default false)position: Sort position (optional)permission_overwrites: Permission overrides (optional, array)
-
Make the API Request Use the following curl command structure:
bashcurl -X POST "https://discord.com/api/v10/guilds/{GUILD_ID}/channels" \ -H "Authorization: Bot ${DISCORD_BOT_TOKEN}" \ -H "Content-Type: application/json" \ -d '{ "name": "channel-name", "type": 0 }'Replace:
{GUILD_ID}with the actual guild ID"channel-name"with the desired channel name0with the appropriate channel type
-
Handle Response
- 201 Created: Channel created successfully, return channel ID
- 400 Bad Request: Invalid channel name or parameters
- 401 Unauthorized: Invalid bot token
- 403 Forbidden: Missing "Manage Channels" permission
- 404 Not Found: Guild doesn't exist or bot not in server
-
Report Results
- Confirm channel was created successfully
- Provide the channel ID for reference
- Include channel URL for easy access
- If error occurs, explain the issue clearly
Channel Name Validation
Discord channel names must follow these rules:
- 2-100 characters in length
- Lowercase letters, numbers, hyphens, and underscores only
- No spaces (use hyphens instead)
- No special characters or emojis
Valid names:
generalgeneral-chatvoice-room-1announcements
Invalid names:
General Chat(has spaces and capital letters)chat!(has special character)a(too short)café(has accented character)
Creating Different Channel Types
Text Channel (Type 0)
{
"name": "general-chat",
"type": 0,
"topic": "General discussion for all members"
}
Voice Channel (Type 2)
{
"name": "voice-lounge",
"type": 2,
"user_limit": 10
}
Category (Type 4)
{
"name": "Community",
"type": 4
}
Announcement Channel (Type 5)
{
"name": "server-updates",
"type": 5,
"topic": "Official server announcements"
}
Stage Channel (Type 13)
{
"name": "community-stage",
"type": 13
}
Setting Channel in Category
To place a new channel in an existing category:
{
"name": "new-channel",
"type": 0,
"parent_id": "123456789012345678"
}
The parent_id is the ID of the category channel.
Channel Permissions
To set custom permissions when creating a channel:
{
"name": "private-channel",
"type": 0,
"permission_overwrites": [
{
"id": "role_id_here",
"type": 0,
"allow": "1024",
"deny": "0"
}
]
}
Permission types:
type: 0= Roletype: 1= Member
Common permission values:
1024= View Channel2048= Send Messages8192= Read Message History65536= Mention Everyone
Error Handling
Common Errors
400 Bad Request - Invalid Name
{
"code": 50035,
"errors": {
"name": {
"_errors": [
{
"code": "BASE_TYPE_BAD_LENGTH",
"message": "Must be between 2 and 100 in length."
}
]
}
}
}
Solution: Ensure channel name is 2-100 characters and follows naming rules
403 Forbidden - Missing Permissions
{
"code": 50013,
"message": "Missing Permissions"
}
Solution: Bot needs "Manage Channels" permission in the server
404 Not Found - Invalid Guild
{
"code": 10004,
"message": "Unknown Guild"
}
Solution: Verify guild ID is correct and bot is member of the server
400 Bad Request - Invalid Category
{
"code": 50035,
"message": "Invalid parent_id"
}
Solution: Ensure parent_id is a valid category channel ID in the same guild
Response Object
Successful channel creation returns:
{
"id": "987654321098765432",
"type": 0,
"guild_id": "123456789012345678",
"position": 0,
"permission_overwrites": [],
"name": "new-channel",
"topic": null,
"nsfw": false,
"last_message_id": null,
"parent_id": null
}
Best Practices
-
Naming Conventions
- Use descriptive, lowercase names
- Use hyphens to separate words
- Keep names concise but clear
-
Organization
- Create categories first, then channels within them
- Use consistent naming across similar channels
- Set appropriate permissions from the start
-
Channel Limits
- Discord servers have a limit of 500 channels
- Consider channel count before creating new ones
- Archive or delete unused channels
-
Permissions
- Set permissions during creation when possible
- Use role-based permissions over member-specific
- Inherit category permissions when appropriate
-
Voice Channels
- Set reasonable user limits
- Consider bitrate for quality
- Use stage channels for large events
Security Notes
- Validate guild ID belongs to expected server
- Don't create channels programmatically without user confirmation
- Be cautious with permission overwrites
- Follow Discord's automation guidelines
Examples
See examples.md for detailed usage scenarios.
API Reference
- Endpoint:
POST /guilds/{guild.id}/channels - Discord API Version: v10
- Documentation: https://discord.com/developers/docs/resources/guild#create-guild-channel
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
data-create-viz
Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento
cs-customer-escalation
Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.
mkt-draft-content
Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.
gog-tasks
Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.
discord-get-messages
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
cs-customer-research
Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.
Didn't find tool you were looking for?