ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway…
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
$ npx -y skills add evolution-foundation/evo-nexus --skill discord-get-messages --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/discord-get-messagesContext preview
The summary Claude sees to decide when to auto-load this skill.
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
name: discord-get-messages description: Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
Retrieve messages from Discord channels using the Discord API v10. This skill supports pagination, filtering by message count, and retrieving message history.
Use this skill when the user wants to:
When the user requests to retrieve Discord messages:
1. **Validate Requirements**
2. **Prepare Query Parameters**
3. **Make the API Request** Use the following curl command structure:
curl -X GET "https://discord.com/api/v10/channels/{CHANNEL_ID}/messages?limit=50" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}"Replace:
4. **Process Response**
5. **Handle Response Codes**
6. **Present Results**
?limit=10 # Get 10 most recent messages (default: 50, max: 100)
?before=1234567890123456789&limit=50 # Get 50 messages before this message ID
?after=1234567890123456789&limit=50 # Get 50 messages after this message ID
?around=1234567890123456789&limit=50 # Get 50 messages around this message ID
Each message returned contains:
{
"id": "1234567890123456789",
"channel_id": "123456789012345678",
"author": {
"id": "987654321098765432",
"username": "Username",
"discriminator": "0000",
"avatar": "avatar_hash"
},
"content": "Message text content",
"timestamp": "2025-10-20T12:00:00.000000+00:00",
"edited_timestamp": null,
"tts": false,
"mention_everyone": false,
"mentions": [],
"mention_roles": [],
"attachments": [],
"embeds": [],
"reactions": [],
"pinned": false,
"type": 0
}[2025-10-20 12:00] Username: Message content here [2025-10-20 11:55] OtherUser: Another message
Message ID: 1234567890123456789 Author: Username#0000 (987654321098765432) Timestamp: 2025-10-20T12:00:00.000000+00:00 Content: Message text content here Attachments: image.png (https://cdn.discordapp.com/...)
After retrieving messages, filter by author ID or username:
# Get messages then filter in output curl ... | jq '.[] | select(.author.username == "TargetUser")'
Search for specific keywords in message content:
# Get messages then search content
curl ... | jq '.[] | select(.content | contains("keyword"))'Exclude system messages and embeds:
# Filter message type 0 (default text messages) curl ... | jq '.[] | select(.type == 0)'
To retrieve more than 100 messages:
1. Get first batch: `?limit=100` 2. Get oldest message ID from response 3. Get next batch: `?before={oldest_id}&limit=100` 4. Repeat until all messages retrieved or desired count reached
**Example:**
# First batch
curl "https://discord.com/api/v10/channels/{CHANNEL_ID}/messages?limit=100" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}"
# Get oldest message ID from response (e.g., 1234567890123456789)
# Next batch
curl "https://discord.com/api/v10/channels/{CHANNEL_ID}/messages?before=1234567890123456789&limit=100" \
-H "Authorization: Bot ${DISCORD_BOT_TOKEN}"**401 Unauthorized**
**403 Forbidden**
**404 Not Found**
**400 Bad Request**
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied through Cloudflare AI Gateway…
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and memory folder. Use when the…
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the markdown file in…
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a mission, choosing or creating a…
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent, setting interval, wake…
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug, display name, description,…