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.