Skip to content
Back to skills

Discord Send Message

ASecurity

Send messages to Discord channels via the Discord API. Use this skill when the user wants to send text messages, notifications, or formatted content to a Discord channel.

  • 529 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 29, 2026
ai-agentsbashgitapisecuritydocumentation

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add evolution-foundation/evo-nexus --skill discord-send-message --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Discord Send Message?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Discord Send Message
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/evolution-foundation-discord-send-message/badge)](https://www.skillsdirectory.com/skills/evolution-foundation-discord-send-message)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: discord-send-message
description: Send messages to Discord channels via the Discord API. Use this skill when the user wants to send text messages, notifications, or formatted content to a Discord channel.
---

# Discord Send Message

Send messages to Discord channels using the Discord API v10. This skill supports plain text messages, formatted markdown content, and embeds.

## When to Use This Skill

Use this skill when the user wants to:
- Send a message to a Discord channel
- Post a notification or announcement
- Send formatted text with markdown
- Post embeds with rich content
- Reply to or interact with Discord programmatically

## Prerequisites

- `DISCORD_BOT_TOKEN` environment variable must be set
- Bot must be a member of the target server
- Bot must have "Send Messages" permission in the target channel
- Valid Discord channel ID (18-19 digit snowflake ID)

## Instructions

When the user requests to send a Discord message:

1. **Validate Requirements**
   - Confirm `DISCORD_BOT_TOKEN` is set in environment
   - Verify channel ID is provided (18-19 digit number)
   - Check that message content is not empty

2. **Prepare the Message**
   - Extract the message content from user request
   - Format any markdown if needed (Discord supports markdown)
   - For embeds, structure as JSON with title, description, color, fields, etc.

3. **Make the API Request**
   Use the following curl command structure:

   ```bash
   curl -X POST "https://discord.com/api/v10/channels/{CHANNEL_ID}/messages" \
     -H "Authorization: Bot ${DISCORD_BOT_TOKEN}" \
     -H "Content-Type: application/json" \
     -d '{"content": "Your message here"}'
   ```

   Replace:
   - `{CHANNEL_ID}` with the actual channel ID
   - `"Your message here"` with the actual message content

4. **Handle Response**
   - Success (200): Message sent successfully, return message ID
   - 401 Unauthorized: Invalid bot token
   - 403 Forbidden: Missing permissions or bot not in server
   - 404 Not Found: Channel doesn't exist or bot can't see it
   - 400 Bad Request: Invalid message content

5. **Report Results**
   - Confirm message was sent successfully
   - Provide the message ID for reference
   - If error occurs, explain the issue clearly

## Message Format Options

### Plain Text
```json
{
  "content": "Hello from Claude Code!"
}
```

### Markdown Formatting
```json
{
  "content": "**Bold text** *Italic text* `code` [Link](https://example.com)"
}
```

### Basic Embed
```json
{
  "embeds": [{
    "title": "Notification",
    "description": "This is an embed message",
    "color": 3447003,
    "fields": [
      {
        "name": "Field Name",
        "value": "Field Value",
        "inline": false
      }
    ]
  }]
}
```

### Text + Embed
```json
{
  "content": "Check out this embed:",
  "embeds": [{
    "title": "Title",
    "description": "Description"
  }]
}
```

## Validation Rules

Before sending:
- Message content must not exceed 2000 characters
- Embed description must not exceed 4096 characters
- Embed title must not exceed 256 characters
- Total embed size must not exceed 6000 characters
- Channel ID must be numeric (snowflake format)

## Error Handling

### Common Errors

**401 Unauthorized**
- Check that `DISCORD_BOT_TOKEN` is set correctly
- Verify token hasn't expired or been regenerated

**403 Forbidden**
- Bot needs "Send Messages" permission in channel
- Bot must be added to the server
- Check channel permission overrides

**404 Not Found**
- Channel ID is incorrect
- Channel was deleted
- Bot doesn't have "View Channel" permission

**400 Bad Request**
- Message content is empty or too long
- Invalid JSON in embed structure
- Invalid embed field values

## Security Notes

- Never expose the bot token in messages or logs
- Validate all user input before sending to Discord
- Don't send sensitive information unless channel is private
- Respect Discord's rate limits (5 messages per 5 seconds per channel)

## Examples

See `examples.md` for detailed usage scenarios.

## API Reference

- Endpoint: `POST /channels/{channel.id}/messages`
- Discord API Version: v10
- Documentation: https://discord.com/developers/docs/resources/channel#create-message

Files in this skill

  • SKILL.md4.1 KB
  • examples.md5.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…