Open app
Moonborn — Developers

Discord

Notification adapter — Moonborn events to Discord webhooks. Best for game / community teams running NPC casts or persona-driven Discord-based interactions.

Like the Slack integration, the Discord adapter is receive-only. Moonborn formats webhook events into Discord-shaped messages; you point them at a Discord webhook URL.

Game and community teams use it heavily — NPC drift alerts into a community ops channel, marketplace publication notifications, etc.

Setup

  1. Create a Discord webhook. In your Discord server: Channel Settings → Integrations → Webhooks → New Webhook. Copy the URL.
  2. Subscribe a Moonborn webhook:
const hook = await client.webhooks.createWebhook({
  url: 'https://discord.com/api/webhooks/123.../X...',
  events: ['persona.audit_failed', 'marketplace.persona.published'],
  description: 'Discord — NPC + community alerts',
  format: 'discord',
});

format: 'discord' (Team+) emits Discord's embed shape: title, color (ember for warnings, ruby for failures), descriptive body, link back to the persona detail. Without the flag, you get raw JSON — your Discord bot/proxy can format it however.

Patterns

  • NPC drift channelpersona.audit_failed filtered to a tag matching your game's NPCs.
  • Marketplace alertsmarketplace.persona.published to a community channel announcing new content.
  • Outage signalgeneration.run.failed to ops, so game designers know when prompts are silently failing in production.

Honest scope

Same boundary as Slack: receive-only, no read-from-Discord, no slash commands, no persona-as-Discord-bot. Game writers integrating Moonborn with a Discord-native experience pair Moonborn with their own bot framework (discord.js, discord.py, serenity); the bot calls chat.sendMessage and posts replies.

Tier

Team and up.

Next