Skip to main content

Overview

Postiz integrates with Discord to send messages to channels using a Discord bot, supporting text, images, videos, and threaded conversations.

Authentication

Discord uses OAuth 2.0 with bot installation.
1

Connect Discord

Click “Connect Discord” in Integrations
2

Select Server

Choose which Discord server to add the bot to
3

Authorize Bot

Grant the bot required permissions
4

Select Channel

Choose which channel to post to when creating content

Required Permissions

  • identify - Bot identity
  • guilds - Access to server information

Bot Permissions

The bot requires these server permissions:
  • Send Messages
  • Attach Files
  • Embed Links
  • Read Message History
  • Create Public Threads
  • Send Messages in Threads
The bot token is configured at the application level via DISCORD_BOT_TOKEN_ID environment variable.

Supported Features

Channel Types

Post to these Discord channel types:
  • Text Channels (type 0)
  • Announcement Channels (type 5)
  • Forum Channels (type 15)

Message Features

  • Maximum: 1980 characters
  • Markdown formatting supported
  • Discord formatting (bold, italic, code)
  • Role and user mentions

Posting Messages

Main Posts

Messages are sent using Discord’s message API:
{
  content: string,           // Message text (1980 chars max)
  attachments: [
    {
      id: number,           // Attachment index
      description: string,  // "Picture 0", "Picture 1", etc.
      filename: string      // Original filename
    }
  ]
}
Media files are fetched from URLs and uploaded as Discord attachments.

Threaded Replies

Comments create threads under messages:
1

First Comment

Creates a new thread under the original message
2

Additional Comments

Posted as replies within the thread
3

Thread Settings

  • Thread name: “Thread”
  • Auto-archive: 24 hours (1440 minutes)
Threads keep conversations organized and improve readability in busy channels.

Mentions System

Mention users and roles in your messages:

Format

// In message: [[[@ID]]]
// Renders as: <@ID> (user) or <@&ID> (role)

"Hello [[[@123456789]]]""Hello <@123456789>"
"Attention [[[@&987654321]]]""Attention <@&987654321>"

Special Mentions

  • @here - Notifies online users
  • @everyone - Notifies all users
  • @&roleId - Mentions role members
  • @userId - Mentions specific user
Search for mentionable users and roles:
GET /mention?query=admin

Returns:
[
  { id: "here", label: "here" },
  { id: "everyone", label: "everyone" },
  { id: "&123", label: "Admin" },       // Role
  { id: "456", label: "John Doe" }      // User
]

Channel Management

List available channels:
GET /channels

Returns:
[
  {
    id: "123456789",
    name: "general"
  },
  {
    id: "987654321",
    name: "announcements"
  }
]
Only text, announcement, and forum channels are shown.

Rate Limits

Discord Rate Limits:
  • 5 concurrent posting jobs
  • Generous API limits for webhooks
  • No strict message limits
  • Bot rate limits apply

Best Practices

Channel Selection

Use announcement channels for important updates

Threading

Use threads for discussions to keep channels clean

Mentions

Use @here instead of @everyone when possible to reduce notifications

Media Size

Keep file sizes reasonable - large files may fail

Troubleshooting

If messages aren’t sending:
  • Verify bot has Send Messages permission
  • Check bot has access to the channel
  • Ensure bot role is high enough in hierarchy
  • Verify DISCORD_BOT_TOKEN_ID is correct
Mention issues:
  • Use correct format: [[[@ID]]]
  • Role IDs need & prefix: [[[@&roleId]]]
  • User/role must be in the server
  • Bot needs permission to mention
Media upload problems:
  • Check file size (Discord has limits)
  • Verify file URL is accessible
  • Ensure bot has Attach Files permission
  • Try reducing file size
Threading issues:
  • Bot needs Create Public Threads permission
  • Original message must exist
  • Channel must support threads
  • Forum channels have different thread rules

Build docs developers (and LLMs) love