Skip to main content

Discord

Setup

1. Create a Bot

2. Enable Intents

  • In Bot settings, enable MESSAGE CONTENT INTENT

3. Get Your User ID

  • Discord Settings → Advanced → enable Developer Mode
  • Right-click your avatar → Copy User ID

4. Configure

{
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"allow_from": ["YOUR_USER_ID"],
"group_trigger": {
"mention_only": false
}
}
}
}
FieldTypeDescription
enabledboolEnable/disable the channel
tokenstringBot token from Discord Developer Portal
proxystringHTTP/SOCKS proxy URL (optional)
allow_fromarrayList of allowed user IDs (empty = allow all)
group_triggerobjectGroup chat trigger settings (see below)
reasoning_channel_idstringRoute reasoning output to a separate channel

5. Invite the Bot

  • OAuth2 → URL Generator
  • Scopes: bot
  • Bot Permissions: Send Messages, Read Message History
  • Open the generated invite URL and add the bot to your server

6. Run

picoclaw gateway

Group Trigger

Control how the bot responds in server channels (does not affect DMs — the bot always responds in DMs):

{
"group_trigger": {
"mention_only": true,
"prefixes": ["/ask", "!bot"]
}
}
FieldTypeDescription
mention_onlyboolOnly respond when @-mentioned in groups
prefixesarrayKeyword prefixes that trigger the bot in groups
Migration

The old top-level "mention_only": true field is automatically migrated to "group_trigger": {"mention_only": true}.

Voice Channel

PicoClaw can join Discord voice channels and participate in voice conversations:

  • Join a voice channel yourself, then type !vc join in a text channel to make the bot join
  • Leave the voice channel with !vc leave
  • Voice input is transcribed using the configured ASR model and sent to the agent
  • The agent's response is converted to audio via TTS and played back in the voice channel

Voice requires voice.tts_model_name to be configured in config.json. See Model Configuration for details.

Media Support

Discord audio attachments are automatically transcribed if an ASR model is configured. Other attachments (images, files) are downloaded and included as context.