Something went wrong!
Hang in there while we get back on track
Discord Integration
Automate Discord server management, send messages, create channels, and interact with Discord communities programmatically
Requires Claude Code CLI
This skill integrates with Discord through Claude Code. Install Claude Code and add this skill to use it.
Available Actions
Send Message
Send a message to a Discord channel
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| channel_id | string | Required | The ID of the channel to send the message to |
| message | string | Required | The message content (supports Discord markdown) |
Returns
string Confirmation message with channel ID
Try saying...
- "Send a message to Discord channel 123456789 saying 'Hello World'"
- "Post 'Meeting at 3pm' to channel 987654321"
- "Send a notification to the announcements channel"
List Guilds
Get a list of all Discord servers (guilds) the bot is a member of
Returns
array Array of guild objects with id, name, member_count, and owner_id
Try saying...
- "Show me all Discord servers this bot is in"
- "List all guilds"
- "What Discord servers does the bot have access to?"
List Channels
Get all channels in a specific Discord server
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| guild_id | string | Required | The ID of the guild to list channels from |
Returns
array Array of channel objects with id, name, type, and position
Try saying...
- "List all channels in Discord server 123456789"
- "Show me the channels for guild 987654321"
- "What channels are in this server?"
Get Channel Info
Get detailed information about a specific channel
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| channel_id | string | Required | The ID of the channel to get information about |
Returns
object Channel object with id, name, type, guild_id, position, and topic
Try saying...
- "Get info about Discord channel 123456789"
- "Show me details for channel 987654321"
- "What's the topic of this channel?"
Create Channel
Create a new channel in a Discord server
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| guild_id | string | Required | The ID of the guild to create the channel in |
| channel_name | string | Required | The name of the new channel |
| channel_type | string | Optional | The type of channel to create |
Returns
string Confirmation message with channel name and ID
Try saying...
- "Create a new text channel called 'announcements' in Discord server 123456789"
- "Make a voice channel named 'gaming' in guild 987654321"
- "Create a category called 'Community' in the server"
Getting Started
- 1 Go to Discord Developer Portal (https://discord.com/developers/applications)
- 2 Create a new application or select existing one
- 3 Navigate to 'Bot' section and click 'Add Bot'
- 4 Under Token section, click 'Reset Token' or 'Copy'
- 5 Copy the bot token (shown only once)
- 6 Add to shell config: echo 'export DISCORD_BOT_TOKEN="YOUR_TOKEN"' >> ~/.zshrc
- 7 Restart terminal or run: source ~/.zshrc
- 8 Add bot to your server using OAuth2 URL Generator with bot scope
Verify Setup
source ~/.config/claude-skills/discord-api/.venv/bin/activate && python scripts/client.py list-guilds
Success: JSON array of guilds where the bot is a member
Security & Access
Access Scope
The bot token grants full access to all servers where the bot is installed, with permissions limited by what the server administrators have granted
- Never share your bot token publicly or commit it to version control
- The token provides access to all servers the bot is a member of
- Regenerate the token immediately if it is exposed or compromised
- Only grant the minimum permissions your bot needs in each server
- Bot actions are logged in Discord's audit log
- Violating Discord's Terms of Service can result in bot or account termination
Limitations
- Bot must be added to a server before it can interact with it
- Bot permissions are managed per-server by server administrators
- Some actions require specific permissions (Send Messages, Manage Channels, etc.)
- Message content is limited to 2000 characters
- Embed content has separate limits
Get This Skill
Requires Pro subscription ($9/month)
Quick Reference
- Type
- PYTHON_SDK
- Auth
- API Key
- Setup
- Easy Setup
- Tools Required
- Bash
- Python Dependencies
- discord.py>=2.3.0
Documentation
Have Feedback?
Help us improve this skill by sharing your ideas and suggestions.
Request Improvements