Back to Picoclaw

Discord

docs/channels/discord/README.md

0.2.82.7 KB
Original Source

Back to README

Discord

Discord is a free voice, video, and text chat application designed for communities. PicoClaw connects to Discord servers via the Discord Bot API, supporting both receiving and sending messages.

Configuration

json
{
  "agents": {
    "defaults": {
      "tool_feedback": {
        "enabled": true,
        "max_args_length": 300
      }
    }
  },
  "channel_list": {
    "discord": {
      "enabled": true,
      "type": "discord",
      "token": "YOUR_BOT_TOKEN",
      "allow_from": ["YOUR_USER_ID"],
      "placeholder": {
        "enabled": true,
        "text": ["Thinking... šŸ’­"]
      },
      "group_trigger": {
        "mention_only": false
      },
      "reasoning_channel_id": ""
    }
  }
}
FieldTypeRequiredDescription
enabledboolYesWhether to enable the Discord channel
tokenstringYesDiscord Bot Token
allow_fromarrayNoAllowlist of user IDs; empty means all users are allowed
placeholderobjectNoPlaceholder message config shown while the agent is working
group_triggerobjectNoGroup trigger settings (example: { "mention_only": false })
reasoning_channel_idstringNoOptional target channel ID for reasoning/thinking output

Visible Execution Feedback

Discord can show three different kinds of "working" feedback:

  1. Typing indicator: automatic, no extra config needed.
  2. Placeholder message: enable channel_list.discord.placeholder.enabled to send a visible Thinking... message that is later edited into the final reply.
  3. Tool execution feedback: enable agents.defaults.tool_feedback.enabled to send a short message before each tool call, for example:
text
šŸ”§ `web_search`
Checking the latest PicoClaw release notes before I answer.

If you only see Bot is typing, check that placeholder.enabled or tool_feedback.enabled is actually set in your runtime config.

Setup

  1. Go to the Discord Developer Portal and create a new application
  2. Enable Intents:
    • Message Content Intent
    • Server Members Intent
  3. Obtain the Bot Token
  4. Fill in the Bot Token in the configuration file
  5. Invite the bot to your server and grant the necessary permissions (e.g. Send Messages, Read Message History)