Connecting Discord to your Suji instance lets your OpenClaw bot join a Discord server and respond to messages. Once connected, your bot will appear as a member of the server and can read and reply to messages in any channel it has access to.Documentation Index
Fetch the complete documentation index at: https://docs.suji.fr/llms.txt
Use this file to discover all available pages before exploring further.
What You’ll Need
Before you start, make sure you have:- A Discord account
- A Discord server where you have Administrator or Manage Server permission (you need this to invite the bot)
- A running OpenClaw install on a Suji VM
Create a Discord Application
Discord bots are managed through the Discord Developer Portal. You’ll create an “application,” add a bot to it, configure its permissions, and then invite it to your server.Open the Developer Portal
Go to discord.com/developers/applications and log in with your Discord account.If this is your first time here, you’ll see an empty applications list. This is where all your bot applications will be managed.
Create a new application
Click the New Application button in the top-right corner. Enter a name for your application (for example,
Acme Support Bot) and click Create.This name is what users will see as the bot’s display name in your server. You can change it later.The application name and the bot’s display name are different things. The application name is what you see in the Developer Portal. The bot’s display name (which users see in Discord) can be customized separately under the Bot settings.
Set up the bot
In the left sidebar, click Bot. This page is where you configure your bot’s settings.You’ll see your bot’s username and an option to change its avatar. The bot is created automatically when you create the application — you don’t need to click “Add Bot” separately.
Copy the bot token
On the Bot page, find the Token section and click Reset Token. Discord will ask you to confirm — click Yes, do it!.Discord will display your bot token. It looks something like this:Copy this token immediately. Discord only shows it once — if you navigate away without copying it, you’ll need to reset it again.
Enable Privileged Gateway Intents
Still on the Bot page, scroll down to the Privileged Gateway Intents section. You’ll see three toggles:
- Presence Intent — Lets the bot see when users are online/offline. Not required for Suji.
- Server Members Intent — Lets the bot see the member list and receive events when members join or leave. Optional — only enable this if your OpenClaw agent needs to know about server members.
- Message Content Intent — Lets the bot read the content of messages. Required for Suji.
Generate an invite URL
In the left sidebar, click OAuth2. On this page, find the OAuth2 URL Generator section.First, under Scopes, check the box for:
- bot — This tells Discord your application needs a bot user in the server
bot scope, a Bot Permissions panel will appear below. Select the following permissions:- Read Messages/View Channels — Lets the bot see channels and read messages
- Send Messages — Lets the bot send messages in channels
- Read Message History — Lets the bot read older messages in channels
Invite the bot to your server
Open the URL you just copied in your browser. Discord will show you an authorization screen:
- Select the server you want to add the bot to from the Add to Server dropdown. Only servers where you have Administrator or Manage Server permission will appear in this list.
- Review the permissions listed and click Authorize.
- Complete the CAPTCHA if prompted.
If you don’t see your server in the dropdown, make sure you’re logged into the correct Discord account and that you have admin permissions on the server.
Connect to Suji
Now that your Discord bot is set up and invited to your server, paste its token into OpenClaw.During install
In the OpenClaw install form, tick Discord in the Channels multiselect and paste your bot token into the Discord bot token field. Click Deploy — OpenClaw connects on first boot and your bot appears online in your server.After install
Install detail page → Edit Install → tick Discord → paste the token → Save. Suji redeploys OpenClaw with the new env. Existing channels keep working through the redeploy.Verify
Once the bot shows as online in your Discord server:- Open any text channel the bot has access to.
- Send a message — your OpenClaw agent should reply.
Troubleshooting
Bot is online but not responding to messages
Bot is online but not responding to messages
This is almost always caused by the Message Content Intent not being enabled. Without it, the bot receives message events but can’t read the actual text.To fix this:
- Go to discord.com/developers/applications
- Select your application
- Click Bot in the left sidebar
- Scroll to Privileged Gateway Intents
- Make sure Message Content Intent is toggled on
- Click Save Changes
- The VM and the OpenClaw install are both in a
runningstate. - The bot has Send Messages and Read Messages/View Channels permissions in the channel.
- The install’s Logs tab doesn’t show any errors when you send a message.
Bot appears offline in Discord
Bot appears offline in Discord
- Token is wrong / revoked. Reset it in the Developer Portal, then in Suji: install detail → Edit Install → paste the new token → Save.
- VM or install isn’t running. Both must be
running. - Logs tab. Open the install’s Logs and look for
[discord]lines — they’ll often say “invalid token” or “intents missing”.
Permission errors or bot can't send messages
Permission errors or bot can't send messages
If the bot is online but gets permission errors or can’t send messages in certain channels:
- Re-invite the bot — Generate a new OAuth2 URL in the Developer Portal with the correct permissions (Read Messages/View Channels, Send Messages, Read Message History) and use it to update the bot’s permissions. You don’t need to kick the bot first — re-authorizing will update its permissions.
- Check server-level role permissions — In your Discord server, go to Server Settings > Roles. Find the bot’s role (usually named after the bot) and make sure it has the necessary permissions enabled.
- Check channel-level overrides — Individual channels can override role permissions. Right-click the channel, go to Edit Channel > Permissions, and make sure the bot’s role isn’t denied access.
Bot can't see messages in specific channels
Bot can't see messages in specific channels
Discord lets server admins restrict which channels a bot can access. If your bot responds in some channels but not others:
- Right-click the channel where the bot isn’t working
- Click Edit Channel
- Go to the Permissions tab
- Check if the bot’s role has been explicitly denied View Channel or Read Messages permission
- Either remove the deny override or explicitly grant the bot access
Rate limiting — bot responses are slow or failing
Rate limiting — bot responses are slow or failing
Discord enforces rate limits on bots to prevent abuse. If your bot is sending too many messages too quickly, Discord will temporarily throttle it, causing delayed or failed responses.Signs of rate limiting:
- Responses are significantly slower than usual
- Some messages get replies while others don’t
- The instance logs show HTTP 429 errors
- Avoid high-traffic channels — If the bot is in a channel with many active users, every message triggers the bot, which can hit rate limits quickly.
- Limit the bot’s channel access — Restrict the bot to only the channels where you actually need it by adjusting channel permissions.
- Check your OpenClaw agent configuration — If the agent sends multiple messages per response, each one counts against the rate limit. Simplify responses where possible.