Automate Discord with nanoclaw
Send messages to Discord channels, attach media, schedule announcements, and integrate with your bot — all from the command line or through your AI agent.
Please make sure there is always a human in the loop.
Post to Discord in Seconds
Terminal
# Install the skill
npx skills add gitroomhq/postiz-agent
# Set your API key
export POSTIZ_API_KEY=your_api_key
# Find your Discord integration
postiz integrations:list
# Send a message to a Discord channel
postiz posts:create \
-c "Hello everyone! Big announcement coming soon." \
-s "2025-01-15T10:00:00Z" \
--settings '{"channel":"123456789012345678"}' \
-i "your-discord-integration-id"Discord-Specific Features
Channel Messaging
Send messages directly to any Discord channel. Target announcements, general chat, or dedicated content channels.
Media Attachments
Attach images, videos, and files to your Discord messages. Share rich content with your community automatically.
Scheduled Messages
Schedule Discord messages for specific times. Perfect for announcements, event reminders, and timed content drops.
Bot Integration
Works through your Discord bot connection. Post messages as your bot to any server and channel it has access to.
Community Updates
Automate recurring community updates, changelogs, and newsletters. Keep your Discord server engaged on autopilot.
Multi-Channel
Post to different channels with different messages. Customize content for each channel in your Discord server.
How It Works
Find Your Discord Integration
List your connected accounts and grab your Discord integration ID. You can also fetch available settings to see what options are supported.
Discovery
# List all integrations
postiz integrations:list
# Filter for Discord
postiz integrations:list | jq \
'.[] | select(.identifier=="discord")'
# Get Discord settings schema
postiz integrations:settings <discord-id>Get Your Channel ID
Find the Discord channel ID where you want to post. In Discord, enable Developer Mode, then right-click the channel and copy its ID.
Channel Setup
# Enable Developer Mode in Discord:
# User Settings > Advanced > Developer Mode
# Right-click any channel > Copy Channel ID
# Example: 123456789012345678
# You can target any channel your bot
# has permission to post inCreate Your Message
Schedule a Discord message with your content, optional media attachments, and the target channel ID.
Message Creation
postiz posts:create \
-c "Hey everyone! We just shipped
a major update. Check it out!" \
-s "2025-03-01T09:00:00Z" \
--settings '{
"channel": "123456789012345678"
}' \
-i "discord-id"
# With media attachment
VIDEO=$(postiz upload demo.mp4)
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')
postiz posts:create \
-c "Demo of the new feature" \
-m "$VIDEO_URL" \
--settings '{"channel":"123456789"}' \
-i "discord-id"Discord Settings Reference
Every Discord message accepts these platform-specific settings via the --settings flag.
| Field | Type | Description |
|---|---|---|
__type | string | Must be "discord" |
channel | string | Discord channel ID to post to |
Common Configurations
Copy-paste these settings for common Discord messaging scenarios.
Announcement Channel Message
settings.json
{
"channel": "123456789012345678"
}Message with Media Attachment
Terminal
# Upload media first
IMAGE=$(postiz upload screenshot.png)
IMAGE_URL=$(echo "$IMAGE" | jq -r '.path')
# Post with attachment
postiz posts:create \
-c "Here's a preview of what's coming next!" \
-m "$IMAGE_URL" \
--settings '{"channel":"123456789012345678"}' \
-i "discord-id"Scheduled Weekly Update
Terminal
# Schedule a weekly update for Monday morning
postiz posts:create \
-c "Weekly Update - March 3, 2025
Here's what we shipped this week:
- Feature A: New dashboard
- Feature B: API improvements
- Bug fix: Login issue resolved
Thanks for being part of our community!" \
-s "2025-03-03T09:00:00Z" \
--settings '{"channel":"123456789012345678"}' \
-i "discord-id"Multi-Channel Posting
Terminal
# Post to announcements channel
postiz posts:create \
-c "v2.0 is live! Check the changelog." \
--settings '{"channel":"111111111111111111"}' \
-i "discord-id"
# Post detailed changelog to dev channel
postiz posts:create \
-c "v2.0 Changelog:
- Redesigned API layer
- 50% faster response times
- New webhook support" \
--settings '{"channel":"222222222222222222"}' \
-i "discord-id"What is nanoclaw?
nanoclaw is a lightweight, container-based alternative to nanoclaw by Qwibit AI. It connects to WhatsApp, Telegram, Slack, Discord, and Gmail, features memory and scheduled jobs, and runs on Anthropic's Agents SDK.
Container-Based
nanoclaw runs in containers for easy deployment and isolation. Spin up your social media automation agent in seconds with Docker.
Multi-Platform Chat
Connect to WhatsApp, Telegram, Slack, Discord, and Gmail. Message nanoclaw from wherever you already communicate.
Memory & Context
Schedule recurring tasks with cron jobs. nanoclaw can send your Discord messages on a schedule without you having to ask each time.
How Postiz Works with nanoclaw
When you install Postiz Agent globally, nanoclaw automatically discovers it by reading the bundled SKILL.md file. This file tells nanoclaw what commands are available, what environment variables are needed, and how to compose Discord messages with the right settings.
- ✓Install Postiz skill with npx skills add gitroomhq/postiz-agent
- ✓nanoclaw reads the SKILL.md and learns all Postiz commands
- ✓POSTIZ_API_KEY must be set in environment
- ✓Skills are loaded on-demand, keeping the agent context clean
- ✓Runs on Anthropic's Agents SDK for reliable execution
Install Postiz
# Install the Postiz skill
npx skills add gitroomhq/postiz-agent
# Set your API key
export POSTIZ_API_KEY=your_api_key
# nanoclaw discovers Postiz through
# its skill system
nanoclaw skills listDiscord Messaging with nanoclaw
Message nanoclaw from any platform — it reads the Postiz skill, discovers your Discord integration, and handles the entire messaging workflow autonomously.
From Any Chat App
Message nanoclaw from WhatsApp, Telegram...
Send a message to nanoclaw from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your Discord bot via Postiz, and sends the message to the right channel — all while you go about your day.
nanoclaw
You: Post to Discord about our new
feature launch, schedule for tomorrow
at 9am
nanoclaw: On it! Here's my plan:
1. Found your Discord integration
2. Composing your post
3. Scheduling for tomorrow 9:00 AM
Done! Your post is scheduled.
Post ID: abc-123Scheduled & Proactive
nanoclaw supports scheduled jobs ou...
nanoclaw supports cron-based heartbeat tasks. Set up a recurring job that sends weekly updates, daily tips, or event reminders to your Discord server automatically — no manual trigger needed.
nanoclaw.json (scheduled job)
{
"scheduled_jobs": [
{
"cron": "0 9 * * 1-5",
"prompt": "Check ~/content/posts
for new .txt files. For each one,
read the content and schedule a
post to Discord for today
at noon. Move posted files
to ~/content/published."
}
]
}Why nanoclaw + Postiz for Discord
nanoclaw makes Postiz a natural fit for your Discord workflow. The agent discovers all available commands and autonomously chains them together.
- ✓Message from WhatsApp or Telegram to post to Discord — no terminal needed
- ✓Container-based — easy to deploy, isolate, and scale
- ✓Built-in memory remembers your content preferences
- ✓Scheduled jobs for hands-free daily posting
- ✓Cross-post to Discord + other platforms in a single conversation
- ✓Runs on Anthropic's Agents SDK — reliable and extensible
SKILL.md (auto-discovered)
---
name: postiz
description: Social media automation
CLI for scheduling posts across
30+ platforms including Discord
metadata:
nanoclaw:
requirements:
env:
- POSTIZ_API_KEY
binaries:
- postiz
---
# Available Commands
- postiz integrations:list
- postiz integrations:settings <id>
- postiz posts:create
- postiz upload <file>
- postiz analytics:platform <id>
# Discord Settings
channel (required channel ID)Also Works with Claude Code
Postiz Agent works as a CLI tool with any AI agent that can execute shell commands — including Anthropic's Claude Code.
Claude Code
by Anthropic
Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your Discord integration, identifies the right channel, and sends your message with any attachments.
Claude Code
> Send an announcement to our Discord
#releases channel that v2.0 is live,
attach the changelog screenshot
Claude will automatically run:
postiz integrations:list
postiz upload ./changelog.png
postiz posts:create \
-c "v2.0 is now live! Check out
the changelog below." \
-m "uploaded-image-url" \
--settings '{"channel":
"123456789012345678"}' \
-i "discord-id"Discord + Other Platforms
Schedule the same announcement to Discord and other platforms in a single command. Each platform gets its own settings.
Terminal
# Announce to Discord and Twitter simultaneously
postiz posts:create \
-c "We just launched v2.0! New features, faster performance, and more." \
-s "2025-03-01T09:00:00Z" \
--settings '{
"channel": "123456789012345678"
}' \
-i "discord-id,twitter-id"
# Batch schedule daily tips to Discord
for day in 1 2 3 4 5; do
postiz posts:create \
-c "Daily Tip #$day: Stay productive with automation!" \
-s "2025-03-0${day}T10:00:00Z" \
--settings '{"channel":"123456789012345678"}' \
-i "discord-id"
doneStart posting to Discord
Install Postiz Agent and automate your Discord community messaging with AI-powered scheduling and publishing.
Ready to get started?
Grow your social media presence with Postiz.
Schedule, analyze, and engage with your audience.
Open-source social media scheduling tool