Skip to main content

Prerequisites

  • A Discord account
  • A Discord server where you have admin permissions
  • A running Suji instance

Create a Discord Application

1

Go to the Discord Developer Portal

Navigate to discord.com/developers/applications and log in.
2

Create a new application

Click New Application, give it a name, and click Create.
3

Create a bot

In the left sidebar, click Bot. Click Add Bot and confirm.
4

Copy the bot token

Under the bot section, click Reset Token and copy the token. It looks like:
MTIzNDU2Nzg5MDEyMzQ1Njc4.GAbCdE.abcdefghijklmnopqrstuvwxyz1234567890
5

Enable required intents

Scroll down to Privileged Gateway Intents and enable:
  • Message Content Intent (required to read messages)
  • Server Members Intent (optional, for member-related features)
6

Invite the bot to your server

Go to OAuth2 > URL Generator in the left sidebar. Select:
  • Scopes: bot
  • Permissions: Send Messages, Read Message History, View Channels
Copy the generated URL and open it in your browser to invite the bot to your server.
Keep your bot token secret. Regenerate it immediately if it’s ever exposed.

Connect to Suji

1

Go to your instance

Open your instance in the Suji dashboard and click the Connectors tab.
2

Add Discord connector

Click Add Connector and select Discord.
3

Enter the bot token

Paste your bot token in the token field.
4

Save

Click Save. The connector status should change to Connected within a few seconds.

Verify the Connection

Send a message in a channel where your bot has access. If the connection is working, your OpenClaw agent will respond.

Troubleshooting

  • Verify Message Content Intent is enabled in the Developer Portal
  • Make sure the bot has permission to read and send messages in the channel
  • Check the instance logs for error messages
  • The token may be invalid — try regenerating it in the Developer Portal
  • Delete the connector and re-add it with the new token
  • Make sure the instance is in the Running state
  • Re-invite the bot using the OAuth2 URL with the correct permissions
  • Check the channel-level permission overrides in Discord server settings