Discord is Narakim's most mature platform integration, with 67 extensions covering the full breadth of the Discord API. Once your Discord bot is connected, Discord events can trigger your automations and Discord actions can send messages, manage members, and more.
Prerequisites
Before connecting Discord, you need:
- A Discord Application created at the Discord Developer Portal.
- A Bot Token — found in your application's Bot section. Click "Reset Token" to generate one.
- Your Application ID — found on the application's General Information page.
- (Optional) A Guild ID for server-specific features. Right-click your server in Discord → "Copy Server ID" (requires Developer Mode).
Enable Developer Mode in Discord: User Settings → Advanced → Developer Mode.
Connecting Discord
- Go to Bot Dossier → Configurations → Connect Platform.
- Select Discord from the platform list.
- Enter your Bot Token, Application ID, and optionally your Guild ID.
- Click Connect.
Narakim will verify the token and establish the connection. Once connected, all 67 Discord extensions appear in your bot's Node Palette.
Bot Permissions & Intents
Ensure your Discord bot has the necessary Gateway Intents enabled in the Developer Portal:
- GUILDS — Required for all guild-related events.
- GUILD_MESSAGES + MESSAGE_CONTENT — Required for reading message content.
- GUILD_MEMBERS — Required for member join/leave/update events.
Important: The MESSAGE_CONTENT intent requires verification for bots in more than 75 servers. For development, enable it freely; for production at scale, apply for verification via the Discord Developer Portal.
Trigger Extensions (26 total)
Message Triggers
| Extension | Fires When | Key Outputs |
|---|---|---|
| Message Create | A new message is sent | content, author, channelId, guildId, attachments |
| Message Update | A message is edited | content, author, channelId, oldContent |
| Message Delete | A message is deleted | messageId, channelId, guildId |
| Message Reaction Add | A reaction is added | emoji, userId, channelId, messageId |
| Message Reaction Remove | A reaction is removed | emoji, userId, channelId, messageId |
Interaction Triggers
| Extension | Fires When | Key Outputs |
|---|---|---|
| Slash Command | A user runs a slash command | commandName, options, user, channelId, interactionId, interactionToken |
| Button Click | A user clicks a button component | customId, user, channelId, messageId, interactionToken |
| Select Menu | A user makes a dropdown selection | customId, values, user, channelId, interactionToken |
| Modal Submit | A user submits a modal form | customId, fields, user, interactionToken |
| Autocomplete | A user types in an autocomplete field | commandName, focusedOption, currentValue, interactionToken |
Member & Guild Triggers
| Extension | Fires When |
|---|---|
| Guild Member Add | A member joins the server |
| Guild Member Remove | A member leaves or is removed |
| Guild Member Update | A member's roles or nickname changes |
| Guild Ban Add / Remove | A ban is applied or lifted |
| Guild Role Create / Update / Delete | A role is created, changed, or deleted |
| Voice State Update | A user joins/leaves/moves voice channels |
Action Extensions (41 total)
Sending Messages
Important: Send Message requires a channel ID (not a user ID). To send a private message, use Send DM with a user ID instead. Using a user ID with Send Message will return a 404 Unknown Channel error.
| Extension | Description |
|---|---|
| Send Message | Post a message to a guild channel, thread, or forum |
| Send DM | Send a private message directly to a user |
| Edit Message | Edit an existing message by channel and message ID |
| Delete Message | Delete a message by channel and message ID |
| Reply to Interaction | Respond to a slash command, button, or select menu interaction |
| Defer Interaction | Acknowledge an interaction immediately; follow up later |
Member Management
| Extension | Description |
|---|---|
| Add Role | Assign a role to a member |
| Remove Role | Remove a role from a member |
| Kick Member | Remove a member from the server |
| Ban Member | Permanently ban a member |
| Timeout Member | Temporarily mute a member |
| Unban Member | Lift a ban |
Channel & Thread Management
| Extension | Description |
|---|---|
| Create Channel | Create a new text, voice, or category channel |
| Delete Channel | Delete a channel |
| Create Thread | Create a thread in a channel |
| Add Thread Member | Add a user to a thread |
Common Patterns
Message → AI → Reply
[Message Create] → [OpenRouter AI] → [Send Message]
Map content from the trigger to the AI's message input. Map the AI's response to the Send Message's content.
Slash Command → Lookup → Reply
[Slash Command] → [HTTP Request] → [Reply to Interaction]
Use options[0].value from the slash command trigger as input to your API lookup, then reply with the result.
Member Join → Welcome Message
[Guild Member Add] → [Send Message (Welcome Channel)]
Use {{trigger.data.user.username}} in the message content to personalize the greeting.
