Discord
Interact with Discord using webhooks or the Bot API.
Setup
Check existing credentials:
vault_get discord_webhook_url vault_get discord_bot_tokenUse webhook URL for simple notifications; use bot token for full Bot API (channels, messages, guilds).
Webhook (easiest):
- Go to Server Settings > Integrations > Webhooks in your Discord server
- Click "New Webhook", name it, select channel
- Copy the Webhook URL
- Save to vault:
vault_save discord_webhook_url "https://discord.com/api/webhooks/ID/TOKEN"
The URL is auto-injected as
$DISCORD_WEBHOOK_URL.Bot API (more features):
- Go to https://discord.com/developers/applications
- Create an application, add a bot, copy the Bot Token
- Save to vault:
vault_save discord_bot_token "your-bot-token"
The token is auto-injected as
$DISCORD_BOT_TOKEN.
Send Messages (Webhook)
# Simple message
curl -s -X POST "$DISCORD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{"content": "Hello from DevClaw!"}'
# With username and avatar override
curl -s -X POST "$DISCORD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"content": "Custom message",
"username": "DevClaw Bot",
"avatar_url": "https://example.com/avatar.png"
}'
# With embed (rich formatting)
curl -s -X POST "$DISCORD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"embeds": [{
"title": "Notification",
"description": "Something happened!",
"color": 3447003,
"fields": [
{"name": "Status", "value": "Success", "inline": true},
{"name": "Time", "value": "Now", "inline": true}
]
}]
}'
Bot API (More Features)
# Requires DISCORD_BOT_TOKEN (stored in vault)
# Send message to channel
curl -s -X POST "https://discord.com/api/v10/channels/CHANNEL_ID/messages" \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Hello!"}'
# Get channel messages
curl -s "https://discord.com/api/v10/channels/CHANNEL_ID/messages?limit=10" \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" | jq '.[] | {author: .author.username, content}'
# List guilds (servers)
curl -s "https://discord.com/api/v10/users/@me/guilds" \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" | jq '.[] | {id, name}'
Embed Examples
# Status embed with color coding
curl -s -X POST "$DISCORD_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"embeds": [{
"title": "Deploy Status",
"description": "Production deployment completed",
"color": 3066993,
"footer": {"text": "DevClaw Automation"}
}]
}'
# Colors: Red=15158332, Green=3066993, Blue=3447003, Yellow=16776960
Tips
- Webhooks are easiest for simple notifications
- Bot API requires creating an app at https://discord.com/developers/applications
- Embed color is a decimal integer (not hex)
- Max message length: 2000 characters
- Rate limit: ~5 requests/second per channel
Triggers
discord, send discord message, discord webhook, discord notification, notify discord, discord bot
Converted and distributed by TomeVault — claim your Tome and manage your conversions.