Skip to main content
Discord works differently from other platforms. Instead of OAuth tokens, we use webhooks that you set up in your Discord server.

Quirks & Gotchas

Webhook-Based Posting

Discord doesn’t allow third-party apps to post as a user. Instead, we use webhooks.
  • You connect a Discord server and select which channels to enable.
  • We create a webhook for each channel.
  • Posts appear as a “bot” message with a customizable username and avatar.

Channel Selection Required

Unlike other platforms, you must specify a channelId in your post data. You can find available channels in the socialAccount.channels array.

Custom Bot Identity

You can customize how your posts appear:
  • username: Up to 80 characters. This is the name shown as the message author.
  • avatarUrl: A URL to an image that will be used as the bot’s avatar.

Post Options

FieldTypeDescription
channelIdstringRequired. The channel to post to. Found in socialAccount.channels.
textstringMessage content. Max 2000 characters.
uploadIdsstring[]Media attachments (images, videos).
usernamestringCustom display name. Max 80 characters.
avatarUrlstringCustom avatar URL. Max 2048 characters.

Analytics

Discord does not provide analytics via its API. All metrics return 0.
MetricDescriptionNote
ImpressionsReturns 0Not available
ViewsReturns 0Not available
LikesReturns 0Not available
CommentsReturns 0Not available

Example

await bundle.post.create({
  socialAccountTypes: ["DISCORD"],
  data: {
    DISCORD: {
      channelId: "123456789012345678",
      text: "Hello from bundle.social!",
      username: "My Bot",
      avatarUrl: "https://example.com/avatar.png"
    }
  }
});