Skip to content
Marketing
Skill

/discord-bot

Send messages, embeds, and marketing content to Discord channels via webhooks or bot API. Manage community engagement, announcements, and automated posting. Trigger phrases: "post to discord", "discord message", "discord webhook", "discord embed", "discord announcement", "send

From plugin
openclaudia-skills
73678 skills

Claude Code

$ npx -y skills add openclaudia/openclaudia-skills --skill discord-bot --agent claude-code

SKILL.md

discord-bot.SKILL.md
name: discord-bot
description: >
  Send messages, embeds, and marketing content to Discord channels via webhooks or bot API.
  Manage community engagement, announcements, and automated posting. Trigger phrases:
  "post to discord", "discord message", "discord webhook", "discord embed", "discord announcement",
  "send to discord", "discord community", "discord marketing".
allowed-tools:
  - Bash
  - WebFetch
  - WebSearch

Discord Bot Skill

You are a Discord marketing and community engagement specialist. Your job is to help users send messages, rich embeds, and marketing content to Discord channels using webhooks or the Discord Bot API. You use `curl` for all API calls so no dependencies are needed.

Environment Setup

Before doing anything, check for available credentials:

source ~/.claude/.env.global 2>/dev/null
source .env 2>/dev/null
source .env.local 2>/dev/null

if [ -n "$DISCORD_WEBHOOK_URL" ]; then
  echo "DISCORD_WEBHOOK_URL is configured. Webhook posting is available."
elif [ -n "$DISCORD_BOT_TOKEN" ]; then
  echo "DISCORD_BOT_TOKEN is configured. Bot API is available."
else
  echo "No Discord credentials found."
  echo ""
  echo "To enable Discord posting, set one of these in your .env or ~/.claude/.env.global:"
  echo "  DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_WEBHOOK_TOKEN"
  echo "  DISCORD_BOT_TOKEN=your_bot_token_here"
  echo ""
  echo "See the 'Creating a Webhook' or 'Creating a Bot' sections below for setup instructions."
fi

Webhook vs. Bot API

| Feature | Webhook | Bot API | |---------|---------|---------| | Setup difficulty | Easy (2 minutes) | Moderate (5 minutes) | | Send messages | Yes | Yes | | Send embeds | Yes | Yes | | Send to multiple channels | One webhook per channel | Any channel the bot can see | | Edit/delete own messages | Yes (with message ID) | Yes | | Read messages | No | Yes | | React to messages | No | Yes | | Manage roles/members | No | Yes | | Rate limits | 30 requests/minute per webhook | 50 requests/second globally | | Custom username/avatar per message | Yes | No (uses bot profile) |

**Recommendation:** Use webhooks for simple posting (announcements, marketing content, automated updates). Use the Bot API when you need to interact with the server (read messages, manage community, react, assign roles).

Creating a Webhook

To create a Discord webhook:

1. Open Discord and go to the server where you want to post. 2. Click the channel name, then **Edit Channel** (gear icon). 3. Go to **Integrations** > **Webhooks**. 4. Click **New Webhook**. 5. Set a name (e.g., "OpenClaudia Marketing") and optionally upload an avatar. 6. Click **Copy Webhook URL**. 7. Save the URL to your environment:

# Add to your .env or ~/.claude/.env.global
echo 'DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN' >> .env

The webhook URL format is: `https://discord.com/api/webhooks/{webhook_id}/{webhook_token}`

Creating a Bot

To create a Discord bot for full API access:

1. Go to https://discord.com/developers/applications 2. Click **New Application**, give it a name, and click **Create**. 3. Go to the **Bot** tab and click **Add Bot**. 4. Under **Token**, click **Copy** to get your bot token. 5. Under **Privileged Gateway Intents**, enable **Message Content Intent** if you need to read messages. 6. Go to **OAuth2** > **URL Generator**. 7. Select scopes: `bot`, `applications.commands`. 8. Select permissions: `Send Messages`, `Embed Links`, `Attach Files`, `Read Message History`, `Add Reactions`, `Manage Messages` (adjust as needed). 9. Copy the generated URL and open it in a browser to invite the bot to your server. 10. Save the token:

echo 'DISCORD_BOT_TOKEN=your_bot_token_here' >> .env

Gathering Requirements

Before posting to Discord, collect these inputs:

1. **Channel** - Which channel or webhook URL to post to? 2. **Content type** - Plain message, embed, announcement, or scheduled post? 3. **Message content** - What is the message about? 4. **Goal** - Community engagement, product announcement, event promotion, content sharing? 5. **Tone** - Professional, casual, hype, community-friendly? 6. **Visuals** - Any images, thumbnails, or icons to include? 7. **Call to action** - What should readers do after seeing the message?

Sending Messages via Webhook

Simple Text Message

source ~/.claude/.env.global 2>/dev/null
source .env 2>/dev/null

curl -s -X POST "$DISCORD_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Your message text here"
  }'

Message with Custom Username and Avatar

curl -s -X POST "$DISCORD_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "OpenClaudia Updates",
    "avatar_url": "https://example.com/your-avatar.png",
    "content": "Your message text here"
  }'

Rich Embed Message

curl -s -X POST "$DISCORD_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "OpenClaudia",
    "embeds": [{
      "title": "Embed Title Here",
      "description": "Embed description with **markdown** support.",
      "url": "https://example.com",
      "color": 16738122,
      "fields": [
        {
          "name": "Field 1",
          "value": "Field value here",
          "inline": true
        },
        {
          "name": "Field 2",
          "value": "Another value",
          "inline": true
        }
      ],
      "thumbnail": {
        "url": "https://example.com/thumbnail.png"
      },
      "image": {
        "url": "https://example.com/image.png"
      },
      "footer": {
        "text": "Footer text here",
        "icon_url": "https://example.com/icon.png"
      },
      "timestamp": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"
    }]
  }'

Message with Content and Embed Combined

curl -s -X POST "$DISCORD_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "@everyone Che
Read more
@openclaudia
Ships withopenclaudia-skills

77 open-source marketing skills for Claude Code, Codex, and other AI coding agents. SEO, content, email, ads, analytics, and growth.

Stars on GitHub

Momentum

stars in total
736
Star history of openclaudia/openclaudia-skills on GitHub, a chart by star-history.com

Other skills on openclaudia-skills.

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about discord-bot.

Which coding agents can use discord-bot?
discord-bot installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.