Get the FREE Ultimate OpenClaw Setup Guide →

discord-send

npx machina-cli add skill lycfyi/community-agent-plugin/discord-send --openclaw
Files (1)
SKILL.md
2.3 KB

Discord Send

Send messages to Discord channels using your user token.

Persona Context

REQUIRED: Before executing this skill, load your configured persona:

python ${CLAUDE_PLUGIN_ROOT}/../community-agent/tools/persona_status.py --prompt

This outputs your persona definition. Apply it when composing messages:

  • Voice: Write in first person as the persona ("I recommend..." not "The system suggests...")
  • Style: Match the persona's communication style (formal/friendly/technical)
  • Personality: Reflect the persona's traits in how you write
  • Signing: Sign messages with persona name if appropriate for the context

When to Use

  • User asks to "send to Discord"
  • User asks to "post in #channel"
  • User asks to "reply to Discord message"
  • User wants to "respond to that Discord conversation"
  • User wants to post a message they composed

How to Execute

Send a message to a channel:

python ${CLAUDE_PLUGIN_ROOT}/tools/discord_send.py --channel CHANNEL_ID --message "Your message here"

Reply to a specific message:

python ${CLAUDE_PLUGIN_ROOT}/tools/discord_send.py --channel CHANNEL_ID --message "Your reply" --reply-to MESSAGE_ID

Parameters

ParameterRequiredDescription
--channelYesTarget channel ID
--messageYesMessage content (max 2000 chars)
--reply-toNoMessage ID to reply to

Finding Channel IDs

Use discord-list skill to find channel IDs:

python ${CLAUDE_PLUGIN_ROOT}/tools/discord_list.py --channels SERVER_ID

Finding Message IDs

Message IDs can be found in:

  1. The messages.md files (in message headers)
  2. Discord's Developer Mode (right-click → Copy ID)
  3. The sync_state.yaml (last_message_id)

Output

On success, returns:

  • Message ID
  • Channel ID
  • Timestamp
  • Reply target (if applicable)

Limitations

  • Maximum message length: 2000 characters
  • Rate limited (automatic backoff)
  • Requires valid user token in ./.env (in cwd)

Warning

Using a user token to send messages may violate Discord's Terms of Service. Use responsibly and at your own risk.

Source

git clone https://github.com/lycfyi/community-agent-plugin/blob/main/plugins/discord-user-connector/skills/discord-send/SKILL.mdView on GitHub

Overview

Discord Send lets you post and reply in Discord channels using a user token. It supports sending new messages and replying to existing ones, up to 2000 characters per message. The skill relies on a loaded persona to tailor voice and signing for each message.

How This Skill Works

The skill calls a CLI tool (discord_send.py) with required parameters like --channel and --message. If replying, you can add --reply-to with the target MESSAGE_ID. On success it returns the Message ID, Channel ID, and Timestamp, after validating the token in .env and applying backoff for rate limits.

When to Use It

  • User asks to send to Discord
  • User asks to post in a channel
  • User asks to reply to a Discord message
  • User wants to respond to that Discord conversation
  • User wants to post a message they composed

Quick Start

  1. Step 1: Load your persona status with the provided script
  2. Step 2: Run the send command: python ${CLAUDE_PLUGIN_ROOT}/tools/discord_send.py --channel CHANNEL_ID --message "Your message here"
  3. Step 3: If replying, add --reply-to MESSAGE_ID: python ${CLAUDE_PLUGIN_ROOT}/tools/discord_send.py --channel CHANNEL_ID --message "Your reply" --reply-to MESSAGE_ID

Best Practices

  • Load your persona before sending to ensure voice and signing align with context
  • Provide the correct channel ID and keep messages within the 2000-character limit
  • Use --reply-to to accurately target a specific message when replying
  • Keep your user token secure (store in .env and do not expose it)
  • Respect Discord rate limits and handle automatic backoff gracefully

Example Use Cases

  • Post a daily standup update to #team-updates
  • Reply to a customer question in #support with a fix
  • Announce a deployment to #deployments
  • Share a project status in #project-alpha
  • Respond to an ongoing conversation in #general with a follow-up

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers