Connect a Discord bot with the right intents

channels

// what it does

Create a Discord app, enable the Message Content Intent (plus Server Members for role matching), and reference the token as channels.discord.token = { source: "env", id: "DISCORD_BOT_TOKEN" }. Apply it with openclaw config patch and start the gateway; DM the bot to get a pairing code. Server routing keys off guilds.<id> with requireMention.

// shell

$ openclaw config patch --file ./discord.patch.json5
$ openclaw pairing approve discord my-code

// gotcha

A missing Message Content Intent is the usual "the bot sees nothing" cause — it is a privileged intent you must toggle in the Discord Developer Portal, not just in OpenClaw.

// resources