n8ntools-discord

Discord Enhanced node for N8N with comprehensive API support

Package Information

Released: 13 mo ago
Downloads: 3 weeklyĀ /Ā 22 monthly
Latest Version: 1.0.3
Author: N8N Tools

Documentation

N8N Tools - Discord Enhanced

npm version
npm downloads
License: MIT

Complete Discord integration with 50+ operations covering the full Discord ecosystem. This N8N community node provides comprehensive access to Servers, Channels, Messages, Users, Roles, Webhooks, and Voice capabilities through the Discord API with enhanced functionality.

✨ Features

  • šŸ° Complete Server Management: Create, configure, and manage Discord servers with full control
  • šŸ’¬ Advanced Channel Operations: Manage text, voice, and category channels with permissions
  • šŸ“Ø Message Handling: Send, edit, delete, and react to messages with embeds and attachments
  • šŸ‘„ User Management: Handle member operations, roles, and permissions
  • šŸŽ­ Role Administration: Create, modify, and assign roles with granular permissions
  • šŸ”— Webhook Integration: Manage webhooks for automated messaging and notifications
  • šŸŽ™ļø Voice Operations: Join, manage, and control voice channels and connections
  • šŸ“‹ Invite Management: Create, track, and manage server invitations
  • šŸ›”ļø Moderation Tools: Ban, kick, timeout, and moderate server members
  • šŸ”’ Secure API: Powered by N8N Tools platform with usage tracking and validation

šŸš€ Quick Start

Installation

Install this node in your N8N instance:

Via Community Nodes (Recommended)

  1. Go to Settings > Community Nodes in your N8N interface
  2. Click Install a community node
  3. Enter n8n-nodes-n8ntools-discord-enhanced
  4. Click Install

Via npm

npm install n8n-nodes-n8ntools-discord-enhanced

Setup Credentials

  1. Sign up at N8N Tools and get your API key
  2. In N8N, create new N8N Tools API credentials
  3. Enter your API URL: https://api.n8ntools.io
  4. Enter your API key

šŸ“‹ Available Resources

šŸ° Servers (8 Operations)

Complete server management capabilities:

Operation Description
Create Server Create a new Discord server
Get Server Retrieve server information
Update Server Modify server settings
Delete Server Delete a server
Get Server Members List all server members
Get Server Channels List all server channels
Get Server Roles List all server roles
Get Server Invites List all server invites

šŸ’¬ Channels (10 Operations)

Advanced channel management:

  • Create Channel: Create text, voice, or category channels
  • Get Channel: Retrieve channel information
  • Update Channel: Modify channel settings and permissions
  • Delete Channel: Remove channels from server
  • Get Channel Messages: Retrieve message history
  • Send Message: Send messages with embeds and attachments
  • Edit Message: Modify existing messages
  • Delete Message: Remove messages
  • Add Reaction: React to messages with emojis
  • Remove Reaction: Remove reactions from messages

šŸ‘„ Members (8 Operations)

Comprehensive member management:

  • Get Member: Retrieve member information
  • Update Member: Modify member properties
  • Add Role: Assign roles to members
  • Remove Role: Remove roles from members
  • Kick Member: Remove member from server
  • Ban Member: Ban member from server
  • Unban Member: Remove ban from member
  • Timeout Member: Apply timeout to member

šŸŽ­ Roles (6 Operations)

Role management system:

  • Create Role: Create new server roles
  • Get Role: Retrieve role information
  • Update Role: Modify role permissions and settings
  • Delete Role: Remove roles from server
  • Get Role Members: List members with specific role
  • Assign Role: Assign role to multiple members

šŸ”— Webhooks (7 Operations)

Webhook management for automation:

  • Create Webhook: Set up automated messaging
  • Get Webhook: Retrieve webhook information
  • Update Webhook: Modify webhook settings
  • Delete Webhook: Remove webhooks
  • Execute Webhook: Send messages via webhook
  • List Webhooks: View all channel webhooks
  • Get Webhook Token: Retrieve webhook authentication

šŸ“‹ Invites (5 Operations)

Invitation management:

  • Create Invite: Generate server invites
  • Get Invite: Retrieve invite information
  • Delete Invite: Remove server invites
  • List Invites: View all server invites
  • Get Invite Uses: Track invite usage statistics

šŸŽ™ļø Voice (4 Operations)

Voice channel operations:

  • Join Voice Channel: Connect to voice channels
  • Leave Voice Channel: Disconnect from voice
  • Move Member: Move members between voice channels
  • Get Voice State: Check voice connection status

šŸ›”ļø Moderation (6 Operations)

Server moderation tools:

  • Create Ban: Ban users from server
  • Remove Ban: Unban users
  • Get Bans: List all server bans
  • Audit Log: Retrieve server audit logs
  • Prune Members: Remove inactive members
  • Get Punishments: View moderation history

šŸ’” Usage Examples

Send Rich Message with Embed

// Configuration
Resource: "Channels"
Operation: "Send Message"
Channel ID: "123456789012345678"
Request Body: {
  "content": "Check out this announcement!",
  "embeds": [{
    "title": "Server Update",
    "description": "We've added new features to the server",
    "color": 3447003,
    "fields": [{
      "name": "New Features",
      "value": "• Voice channels\n• Custom roles\n• Bot commands",
      "inline": false
    }],
    "footer": {
      "text": "Update v2.0"
    },
    "timestamp": "2024-01-15T10:30:00.000Z"
  }]
}

// Output
{
  "resource": "channels",
  "operation": "sendMessage",
  "success": true,
  "id": "987654321098765432",
  "channel_id": "123456789012345678",
  "content": "Check out this announcement!",
  "timestamp": "2024-01-15T10:30:15.123Z",
  "creditsUsed": 1,
  "creditsRemaining": 99
}

Create Server with Channels and Roles

// Step 1: Create Server
Resource: "Servers"
Operation: "Create Server"
Request Body: {
  "name": "My Gaming Server",
  "region": "us-west",
  "icon": "data:image/png;base64,..."
}

// Step 2: Create Category Channel
Resource: "Channels"
Operation: "Create Channel"
Request Body: {
  "name": "Gaming Zone",
  "type": 4,
  "position": 1
}

// Step 3: Create Text Channel
Resource: "Channels"
Operation: "Create Channel"
Request Body: {
  "name": "general-chat",
  "type": 0,
  "parent_id": "category_id_from_step2",
  "topic": "General discussion for all members"
}

// Step 4: Create Role
Resource: "Roles"
Operation: "Create Role"
Request Body: {
  "name": "Gamers",
  "color": 3447003,
  "permissions": "8",
  "hoist": true,
  "mentionable": true
}

Set Up Automated Webhook

// Create Webhook for Notifications
Resource: "Webhooks"
Operation: "Create Webhook"
Channel ID: "123456789012345678"
Request Body: {
  "name": "Notification Bot",
  "avatar": "data:image/png;base64,..."
}

// Execute Webhook with Rich Content
Resource: "Webhooks"
Operation: "Execute Webhook"
Webhook ID: "webhook_id_from_creation"
Request Body: {
  "content": "@everyone New update available!",
  "username": "Server Bot",
  "avatar_url": "https://example.com/bot-avatar.png",
  "embeds": [{
    "title": "System Update",
    "description": "Server maintenance completed",
    "color": 65280,
    "timestamp": "2024-01-15T12:00:00.000Z"
  }]
}

Manage Member Roles and Permissions

// Add Role to Member
Resource: "Members"
Operation: "Add Role"
Member ID: "user_id_123"
Role ID: "role_id_456"

// Update Member Nickname
Resource: "Members"
Operation: "Update Member"
Member ID: "user_id_123"
Request Body: {
  "nick": "Gaming Pro",
  "mute": false,
  "deaf": false
}

// Timeout Member
Resource: "Members"
Operation: "Timeout Member"
Member ID: "user_id_123"
Request Body: {
  "communication_disabled_until": "2024-01-16T12:00:00.000Z",
  "reason": "Spam violation"
}

āš™ļø Configuration Options

Bot Permissions

  • Read Messages: View channel messages
  • Send Messages: Send messages to channels
  • Manage Messages: Edit/delete messages
  • Manage Channels: Create/modify channels
  • Manage Roles: Create/assign roles
  • Administrator: Full server control

Message Formatting

  • Embeds: Rich message formatting
  • Attachments: File uploads and media
  • Mentions: User and role mentions
  • Reactions: Emoji reactions
  • Threads: Threaded conversations

Advanced Request Options

  • Request Body: JSON payload for operations
  • Resource ID: Target resource identifier
  • Additional Options: Pagination and filtering

šŸ› ļø Example Workflows

Community Server Setup

[Create Server] → [Create Categories] → [Create Channels] → [Set Up Roles] → [Configure Permissions] → [Create Welcome Bot]

Automated Moderation

[Message Posted] → [Content Filter] → [Discord Enhanced: Timeout Member] → [Log Action] → [Notify Moderators]

Event Management

[Event Created] → [Discord Enhanced: Create Channel] → [Send Announcement] → [Manage RSVPs] → [Event Reminders]

Bot Notifications

[External Event] → [Discord Enhanced: Execute Webhook] → [Send Alert] → [Update Status] → [Log Activity]

šŸ“Š Comparison with Official Discord Node

Feature Category Official Node Discord Enhanced Improvement
Servers 0 operations 8 operations āˆž (new)
Channels 2 operations 10 operations +400%
Members 0 operations 8 operations āˆž (new)
Roles 0 operations 6 operations āˆž (new)
Webhooks 1 operation 7 operations +600%
Invites 0 operations 5 operations āˆž (new)
Voice 0 operations 4 operations āˆž (new)
Moderation 0 operations 6 operations āˆž (new)
Total Operations 3 operations 54 operations +1700%

šŸ”§ API Endpoints

All operations are routed through N8N Tools API for consistent authentication and usage tracking:

Resource Base Endpoint
Servers /api/v1/discord-enhanced/servers/
Channels /api/v1/discord-enhanced/channels/
Members /api/v1/discord-enhanced/members/
Roles /api/v1/discord-enhanced/roles/
Webhooks /api/v1/discord-enhanced/webhooks/
Invites /api/v1/discord-enhanced/invites/
Voice /api/v1/discord-enhanced/voice/
Moderation /api/v1/discord-enhanced/moderation/

🚨 Error Handling

The node provides comprehensive error handling with detailed messages:

{
  "error": "INVALID_CHANNEL_ID",
  "success": false,
  "resource": "channels",
  "operation": "sendMessage",
  "details": {
    "issue": "The specified channel ID does not exist or bot lacks access",
    "field": "channel_id",
    "value": "INVALID_CHANNEL_ID"
  }
}

šŸ’ø Pricing & Limits

  • Standard Operations: 1 credit per API call
  • Complex Operations: 2-3 credits (server creation, bulk operations)
  • List Operations: 1 credit per page
  • Monthly Quotas: Based on your N8N Tools subscription plan
  • Rate Limits: Based on your subscription tier
  • Usage Tracking: Real-time credit monitoring

šŸ”§ Troubleshooting

Common Issues

Authentication Errors

  • Verify N8N Tools API key is valid and active
  • Check API URL is set to https://api.n8ntools.io
  • Ensure sufficient credits in your account

Permission Errors

  • Verify bot has required permissions in server
  • Check channel-specific permissions
  • Ensure bot role is positioned correctly

Invalid Request Body

  • Validate JSON syntax in request body
  • Check Discord API documentation for required fields
  • Verify resource IDs are valid

Rate Limiting

  • Discord enforces strict rate limits
  • Implement delays between bulk operations
  • Use webhook operations for high-volume messaging

šŸ“ˆ Performance Tips

  1. Batch Operations: Group related operations together
  2. Permission Caching: Cache permission checks for frequently accessed resources
  3. Webhook Usage: Use webhooks for automated messaging to avoid rate limits
  4. Error Handling: Implement retry logic for rate limit errors
  5. Resource Management: Clean up unused channels and roles regularly

šŸ†˜ Support

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ā¤ļø by N8N Tools

Discussion