Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install evolution-foundation-evo-nexus-claude-skills-discord-create-channelgit clone https://github.com/evolution-foundation/evo-nexus.gitcp evo-nexus/SKILL.MD ~/.claude/skills/evolution-foundation-evo-nexus-claude-skills-discord-create-channel/SKILL.md---
name: discord-create-channel
description: 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.
---
# 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_TOKEN` environment 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:
1. **Validate Requirements**
- Confirm `DISCORD_BOT_TOKEN` is 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)
2. **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)
3. **Make the API Request**
Use the following curl command structure:
```bash
curl -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 name
- `0` with the appropriate channel type
4. **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
5. **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:**
- `general`
- `general-chat`
- `voice-room-1`
- `announcements`
**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)
```json
{
"name": "general-chat",
"type": 0,
"topic": "General discussion for all members"
}
```
### Voice Channel (Type 2)
```json
{
"name": "voice-lounge",
"type": 2,
"user_limit": 10
}
```
### Category (Type 4)
```json
{
"name": "Community",
"type": 4
}
```
### Announcement Channel (Type 5)
```json
{
"name": "server-updates",
"type": 5,
"topic": "Official server announcements"
}
```
### Stage Channel (Type 13)
```json
{
"name": "community-stage",
"type": 13
}
```
## Setting Channel in Category
To place a new channel in an existing category:
```json
{
"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:
```json
{
"name": "private-channel",
"type": 0,
"permission_overwrites": [
{
"id": "role_id_here",
"type": 0,
"allow": "1024",
"deny": "0"
}
]
}
```
Permission types:
- `type: 0` = Role
- `type: 1` = Member
Common permission values:
- `1024` = View Channel
- `2048` = Send Messages
- `8192` = Read Message History
- `65536` = Mention Everyone
## Error Handling
### Common Errors
**400 Bad Request - Invalid Name**
```json
{
"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**
```json
{
"code": 50013,
"message": "Missing Permissions"
}
```
**Solution:** Bot needs "Manage Channels" permission in the server
**404 Not Found - Invalid Guild**
```json
{
"code": 10004,
"message": "Unknown Guild"
}
```
**Solution:** Verify guild ID is correct and bot is member of the server
**400 Bad Request - Invalid Category**
```json
{
"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:
```json
{
"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
1. **Naming Conventions**
- Use descriptive, lowercase names
- Use hyphens to separate words
- Keep names concise but clear
2. **Organization**
- Create categories first, then channels within them
- Use consistent naming across similar channels
- Set appropriate permissions from the start
3. **Channel Limits**
- Discord servers have a limit of 500 channels
- Consider channel count before creating new ones
- Archive or delete unused channels
4. **Permissions**
- Set permissions during creation when possible
- Use role-based permissions over member-specific
- Inherit category permissions when appropriate
5. **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