> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# واجهة API الواردة للقناة

ينبغي أن تمثل Plugins القنوات مسارات الاستقبال باستخدام أسماء inbound وmessage:

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
platform event -> inbound facts/context -> agent reply -> message delivery
```

استخدم `openclaw/plugin-sdk/channel-inbound` لتطبيع أحداث inbound،
والتنسيق، والجذور، والتنسيق التشغيلي. استخدم
`openclaw/plugin-sdk/channel-outbound` لسلوك الإرسال
الأصلي، والإيصال، والتسليم الدائم، والمعاينة المباشرة.

## المساعدات الأساسية

```ts theme={"theme":{"light":"min-light","dark":"min-dark"}}
import {
  buildChannelInboundEventContext,
  runChannelInboundEvent,
  dispatchChannelInboundReply,
} from "openclaw/plugin-sdk/channel-inbound";
```

* `buildChannelInboundEventContext(...)`: إسقاط حقائق القناة المطبعة في
  سياق الموجه/الجلسة. استخدم `channelContext` لتمرير بيانات تعريف
  المرسل/الدردشة المملوكة للقناة إلى hook الـ Plugin `ctx.channelContext`؛ ووسّع
  `PluginHookChannelSenderContext` أو `PluginHookChannelChatContext` من هذا
  المسار الفرعي للحقول الخاصة بالقناة.
* `runChannelInboundEvent(...)`: تشغيل الإدخال، والتصنيف، والتحقق المسبق، والحل،
  والتسجيل، والإرسال، والإنهاء لحدث منصة inbound واحد.
* `dispatchChannelInboundReply(...)`: تسجيل وإرسال رد inbound مجمّع مسبقًا
  باستخدام محول تسليم.

يعرض runtime الـ Plugin المحقون المساعدات عالية المستوى نفسها ضمن
`runtime.channel.inbound.*` للقنوات المضمنة/الأصلية التي تتلقى كائن
runtime بالفعل.

```ts theme={"theme":{"light":"min-light","dark":"min-dark"}}
await runtime.channel.inbound.run({
  channel: "demo",
  accountId,
  raw: platformEvent,
  adapter: {
    ingest: normalizePlatformEvent,
    resolveTurn: resolveInboundReply,
  },
});
```

ينبغي أن تجمع مرسلات التوافق مدخلات `dispatchChannelInboundReply(...)`
وتُبقي تسليم المنصة داخل محول التسليم. ينبغي أن تفضّل مسارات الإرسال الجديدة
محولات الرسائل ومساعدات الرسائل الدائمة.

## الترحيل

أزيلت أسماء runtime المستعارة القديمة `runtime.channel.turn.*`. استخدم:

* `runtime.channel.inbound.run(...)` لأحداث inbound الخام.
* `runtime.channel.inbound.dispatchReply(...)` لسياقات الردود المجمّعة.
* `runtime.channel.inbound.buildContext(...)` لحمولات سياق inbound.
* `runtime.channel.inbound.runPreparedReply(...)` فقط لمسارات الإرسال المجهزة
  المملوكة للقناة التي تجمع مسبقًا closure الإرسال الخاص بها.

ينبغي ألا يقدم كود Plugin الجديد واجهات API للقنوات مسماة باسم `turn`. أبقِ مفردات
model أو turn الخاصة بالوكيل داخل كود الوكيل/الموفر؛ تستخدم Plugins القنوات مصطلحات inbound،
والرسالة، والتسليم، والرد.
