Uygulamayı aç
Moonborn — Developers

Discord

Moonborn olaylarını Discord webhook'larına gönder — NPC drift uyarıları, pazaryeri yayın bildirimleri, operasyon sinyalleri.

Slack entegrasyonu gibi, Discord adaptörü de yalnızca alıcıdır. Moonborn webhook olaylarını Discord embed (gömme) şekline biçimlendirir; sen onları Discord webhook URL'ine yönlendirirsin.

Oyun ve topluluk ekipleri bunu yoğun kullanır: topluluk kanalına NPC drift uyarıları, yeni pazaryeri yayınları, üretim kesintisi sinyalleri.

Bu sayfayı bitirdiğinde

  • Discord webhook URL'ini Moonborn'a 5 dakikada bağlayabileceksin.
  • format: 'discord' bayrağının Discord embed biçimine nasıl dönüştürdüğünü bileceksin.
  • NPC drift kanalı, pazaryeri uyarısı, operasyon kesintisi desenlerini ayırt edebileceksin.
  • Discord-alıcısı olmanın sınırlarını (slash komutu yok, bot yok) anlayacaksın.

Ön koşul: Team plan, Discord sunucusunda kanala webhook ekleme yetkisi.

Kurulum — 2 adım

1. Discord'da webhook yarat

Discord sunucunda kanal ayarları:

Channel Settings → Integrations → Webhooks → New Webhook
→ İsim ver (örn. "Moonborn NPC alerts")
→ Kanal seç
→ "Copy Webhook URL"

URL biçimi:

https://discord.com/api/webhooks/1234.../shortToken123

2. Moonborn webhook'unu o URL'e abone et

const hook = await client.webhooks.create({
  url: 'https://discord.com/api/webhooks/1234.../shortToken123',
  events: ['persona.audit_failed', 'marketplace.persona.published'],
  description: 'Discord #npc-ops — drift + pazaryeri uyarıları',
  format: 'discord',  // Discord embed serileştirici
});

format: 'discord' (Team ve üzeri) — Moonborn olayını Discord embed şekline çevirir:

  • Başlık olay tipi
  • Renk uyarılar için ember (0xE8763A), hatalar için ruby (0xC4504F)
  • Açıklayıcı gövde persona adı + skor
  • Alt link — Moonborn arayüzünde persona detayına geri link

Bayrak olmadan ham JSON gönderilir; Discord embed olarak işlemez (render) — metin olarak gösterir. format: 'discord' pratikte zorunludur.

NPC oyun desenleri

NPC drift kanalı

NPC'lerin sahne dışı kaymalarını topluluk operasyon kanalına bildir:

await client.webhooks.create({
  url: 'https://discord.com/api/webhooks/.../npc-drift',
  events: ['persona.audit_failed'],
  format: 'discord',
  description: 'NPC drift uyarıları — topluluk operasyon',
});

Tipik uyarı: "Karakter per_innkeeper_01H... drift skoru 0.42 (eşik 0.30). Son 3 turdaki yanıtlar inceleme kuyruğunda."

Pazaryeri yayın bildirimi

Yeni içerik topluluk kanalına:

await client.webhooks.create({
  url: 'https://discord.com/api/webhooks/.../marketplace-news',
  events: ['marketplace.persona.published'],
  format: 'discord',
});

Topluluk Discord'unda "yeni karakterler" akışı — kullanıcı katılımı için pratik.

Üretim kesintisi sinyali

Üretim başarısızlıklarını operasyon kanalına:

await client.webhooks.create({
  url: 'https://discord.com/api/webhooks/.../engineering',
  events: ['generation.run.failed', 'webhook.delivery_failed'],
  format: 'discord',
});

Oyun tasarımcıları istemlerin üretimde sessizce başarısız olduğunu erkenden bilir.

Persona ↔ Discord bot — Moonborn'un sınırı dışında

Moonborn'u Discord-yerel bir sohbet deneyimiyle entegre etmek istiyorsan:

// Discord bot tarafı (örn. discord.js)
import { Client, Events } from 'discord.js';
import MoonbornClient from '@moonborn/sdk';
 
const moonborn = new MoonbornClient({ apiKey: process.env.MOONBORN_API_KEY });
const session = await moonborn.chat.sessions.create({
  personaId: 'per_innkeeper_01H...',
});
 
discord.on(Events.MessageCreate, async (msg) => {
  if (msg.channelId !== INN_CHANNEL_ID || msg.author.bot) return;
 
  const reply = await moonborn.chat.messages.create({
    sessionId: session.id,
    content: msg.content,
  });
 
  await msg.reply(reply.content);
});

Bu desen Moonborn'u karakter ses katmanı olarak kullanır; Discord tarafı bot çatısı (discord.js, discord.py, serenity) sahne mantığını yürütür.

Plan gereksinimi

PlanYetenek
FreeHam JSON webhook (Discord embed yok)
Proformat: 'discord' bayrağı
TeamÇok-kanallı yönlendirme, gizli anahtar yenileme
EnterpriseOlay filtresi (persona, önem derecesi)

Dürüst kapsam

İlgili

Slack entegrasyonu

Aynı adaptör deseni — Slack webhook alıcısı.

Open →
Webhook entegrasyonu

Discord'un altında çalışan webhook temelleri.

Open →
NPC sahne orkestrasyonu

Persona'yı Discord bot çatısına entegre etme deseni.

Open →
Webhook olay kataloğu

Hangi olay hangi Discord kanalına uygun?

Open →