ai-image-creator
Generate PNG images using AI (multiple models via OpenRouter including Gemini, FLUX.2, Riverflow, SeedDream, GPT-5 Image, proxied…
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.
Claude Code
$ npx -y skills add evolution-foundation/evo-nexus --skill discord-get-messages --agent claude-code
Codex
$ npx skills add evolution-foundation/evo-nexus --skill discord-get-messages -a codex -y
Cursor
$ npx skills add evolution-foundation/evo-nexus --skill discord-get-messages -a cursor -y
Gemini CLI
$ npx skills add evolution-foundation/evo-nexus --skill discord-get-messages -a gemini-cli -y
GitHub Copilot
$ npx skills add evolution-foundation/evo-nexus --skill discord-get-messages -a github-copilot -y
OpenCode
$ npx skills add evolution-foundation/evo-nexus --skill discord-get-messages -a opencode -y
Windsurf
$ npx skills add evolution-foundation/evo-nexus --skill discord-get-messages -a windsurf -y
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…
Create a new custom agent for the workspace. Guides the user through defining agent name, domain, personality, skills, model, and…
Create a new slash command for Claude Code. Guides the user through defining the command name, what it does, and generates the…
Create a Mission, Project, or Goal (Mission → Project → Goal → Task hierarchy) in EvoNexus. Guides the user through picking a…
Create a new heartbeat (proactive agent scheduled with a decision prompt) for EvoNexus. Guides the user through picking an agent,…
Create a new custom integration (API/service wrapper) for the workspace. Guides the user through defining the integration's slug,…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…