دليل عناصر تحكم Stream Deck والإيماءات والأيقونات الكامل
إنشاء سير عمل قابل للاستدعاء
- محفز مسمّىStream Deck / API
- الشروط والإجراءاتEvent Flow المحفوظ لديك
- الوجهةFlow Actions أو OBS أو تكامل آخر
- افتح Event Flow من SSN. أنشئ تدفقًا مخصصًا أو اختر قالب زر Stream Deck / API .
- أضف التشغيل من Stream Deck / API ضمن مجموعة محفزات Stream Deck وAPI .
- سمِّه
intermission. تتطابق الأسماء تمامًا وهي حساسة لحالة الأحرف؛ استخدم اسمًا قصيرًا ووصفيًا. - اربط مخرجه بـ عرض نص (Show Text). اضبط النص على
Back in five minutes، واختر المدة والطبقة المطلوبتين. - احفظ التدفق ثم فعّله. التدفق غير المحفوظ موجود في المحرر فقط؛ ولا يمكن استدعاء تدفق معطل. قالب البداية معطل عمدًا حتى تنتهي من الإعداد.
- افتح تراكب Flow Actions باستخدام رابط SSN المُنشأ. أضف ذلك الرابط كمصدر متصفح OBS للجمهور. المحرر نفسه ليس التراكب.
التدفقات التي لا تحتوي على هذا المحفز المسمّى غير قابلة للاستدعاء عبر API لسير العمل. لا يحقن استدعاء سير عمل دردشة وهمية في لوحة الإرساء. تواصل أحداث OBS الحالية والدردشة العادية استخدام محفزاتها الحالية.
يمكن لتدفق الجمع بين محفزه المسمّى وعوامل تصفية عبر عقد المنطق. أبقِ الأتمتة غير المرتبطة في تدفقات منفصلة: تُقيَّم جميع فروع المحفزات والمنطق في التدفق المحدد بحدث API. تبدأ الضغطات المتكررة عمليات تشغيل منفصلة؛ ضع محدد المعدل (Rate Limiter) بعد المحفز إذا أردت فترة انتظار.
ربط مفتاح Stream Deck
- هيّئ إجراء الإعداد في الإضافة بجلسة SSN وكلمة المرور الاختيارية. استخدم اختبار الاتصال (Test Connection).
- اسحب أمر مسبق (Preset Command) إلى مفتاح.
- اختر سير عمل Event Flow → تشغيل سير عمل (Event Flow workflows → Run workflow).
- اختر تحديث سير العمل (Refresh workflows)، ثم حدد التدفق والمحفز المحفوظين. يخزّن المفتاح معرّف التدفق واسم المحفز معًا.
- اضغط مرة واحدة وراقب تراكب Flow Actions. تعني علامة الصح على المفتاح أن SSN قبل التشغيل.
يحتفظ محدد سير العمل بالاختيارات المفقودة. بعد إعادة تسمية تدفق أو تعطيله أو حذفه أو استيراده، حدّثه وأعد اختياره. يملك التدفق المستورد كتدفق جديد معرّفًا مختلفًا. استخدم حقل Value للاستهداف بالاسم عبر عدة تدفقات بدلًا من ذلك.
أمر مخصص: اضبط Action على triggerWorkflow، واترك Target فارغًا، وأدخل {"trigger":"intermission"} كقيمة Value، وفعّل انتظار الاستجابة (Wait for response). يوفر الإعداد المسبق اختيارًا موجّهًا وتصفية حسب الإمكانات.
إجراءات متعددة: يُقر كل طلب سير عمل بالقبول سريعًا. يمكن أن تبدأ خطوة Stream Deck التالية قبل اكتمال إجراءات سير العمل المؤجلة. ضع التسلسل والتأخيرات داخل Event Flow عندما يكون الترتيب مهمًا.
تمرير قيم مخصصة
في حقل Value للمفتاح أو طلب API:
{
"trigger": "intermission",
"flowId": "YOUR_SAVED_FLOW_ID",
"data": { "name": "Back in five minutes", "minutes": 5 }
}اضبط Show Text على {meta.workflow.data.name}. يستطيع Compare Property قراءة meta.workflow.data.minutes. Data كائن JSON اختياري؛ يبقى في meta.workflow.data ولا يمكنه استبدال هوية الحدث أو منح امتيازات دردشة.
احذف flowId لاستدعاء كل تدفق مفعّل يحمل اسم المحفز المطابق تمامًا. وجود عدة عقد محفز مطابقة في تدفق واحد يظل يقيّم ذلك التدفق مرة واحدة فقط. لتشغيل تدفق واحد فقط، احتفظ بمعرّفه من المحدد أو استجابة الاكتشاف.
يحمل الحدث المستخدم داخل التدفق المحدد type: "api", event: "workflow_trigger", chatname: "Stream Deck / API"، وقيمة فارغة لـ chatmessage، والبيانات أعلاه. لا تستطيع الدردشة العادية التي تنسخ تلك الحقول تفعيل محفز API المسمّى.
أمثلة API
أبقِ SSN مفعّلًا وقيد التشغيل. هذه استدعاءات تحكم عن بُعد في Social Stream؛ ولا تستخدم واجهة الذكاء الاصطناعي المحلية API/MCP المنفصلة في SSApp. حافظ على خصوصية معرّف جلستك الحقيقي.
اكتشاف المحفزات المتاحة
{"action":"getWorkflowTriggers","get":"list-1","apiid":"YOUR_SESSION"}يتضمن استدعاء الرجوع result.payload.triggers:
{"triggers":[{"flowId":"flow-123","flowName":"Intermission","trigger":"intermission"}]}
تشغيل سير عمل مسمّى
{
"action": "triggerWorkflow",
"value": {"trigger":"intermission","flowId":"flow-123","data":{"name":"Back shortly"}},
"get": "run-1",
"apiid": "YOUR_SESSION"
}استخدم قيمة فريدة لـ get لكل طلب. يحتوي استدعاء الرجوع الناجح على result.ok: true, result.status: "accepted"، و result.payload.matchedFlows. يعني القبول العثور على التدفق المفعّل وجدولته. ولا يعني اكتمال كل إجراء مؤجل أو خطاف ويب أو استدعاء OBS أو تشغيل وسائط.
WebSocket
تفعيل التحكم في الإضافة عن بُعد عبر API في SSN. اتصل بـ wss://io.socialstream.ninja. انضم باستخدام {"join":"YOUR_SESSION","out":1,"in":2}، ثم أرسل الطلب أعلاه. تنقل القناة 1 أوامر التحكم؛ وتنقل القناة 2 استدعاءات الرجوع. لا تحتاج إلى تفعيل قناة الدردشة لسير العمل.
HTTP
فعّل إعداد التحكم عن بُعد عبر API نفسه. استبدل النص النائب للجلسة قبل الاستخدام:
POST https://io.socialstream.ninja/YOUR_SESSION
Content-Type: application/json
{"action":"triggerWorkflow","value":{"trigger":"intermission","data":{"name":"Back shortly"}}}لمحفز مسمّى بسيط، يمكنك أيضًا استخدام GET https://io.socialstream.ninja/YOUR_SESSION/triggerWorkflow/null/intermission. يمكن أن يتضمن الجزء الرابع من المسار JSON بترميز URL للقيم المنظمة. رمّز قيمة JSON كلها باستخدام encodeURIComponent(JSON.stringify(value)). تستخدم قنوات الإرسال المخصصة ?channel=N.
P2P
يرسل وضع P2P الافتراضي للإضافة الحمولة نفسها عبر نقل قناة البيانات الحالي لـVDO.Ninja في SSN. لا يلزم مفتاح WebSocket API المستضاف لوضع P2P. ينبغي لعملاء P2P الحاليين إرسال هذا الطلب عبر اتصال تحكم SSN القائم؛ ولا يلزم فتح API الذكاء الاصطناعي المحلية.
الأخطاء والتوافق
WORKFLOW_NOT_FOUND: لا يوجد تدفق محفوظ ومفعّل يطابق المحفز أو معرّف التدفق.INVALID_VALUE: محفز مفقود أو غير صالح، أو JSON مشوه، أو معرّف تدفق غير صالح، أو بيانات ليست كائنًا.CONTROL_UNAVAILABLE: SSN أو التحكم عن بُعد للمضيف معطل.TARGET_UNAVAILABLE: لا يزال Event Flow يُحمَّل.- قد لا تعلن ملفات Social Stream الأقدم هذه الإجراءات. تحقق من
getCapabilities→ssn.actions.triggerWorkflowوgetWorkflowTriggers. يجب تثبيت المحفز الجديد والإضافة المحدّثة معًا؛ رقم إصدار SSApp وحده لا يحدد ملفات Social Stream المحمّلة عن بُعد.
لا تعِد محاولة استدعاء يغيّر الحالة تلقائيًا بعد فقدان الإقرار: قد يكون سير العمل بدأ بالفعل. تحقق من مخرجه أولًا. لا توفر API هذه قائمة انتظار لحالة التنفيذ.
ما يحتاجه كل تكامل
| إجراء سير العمل | الوجهة أو الإعداد المطلوب | ما يجب التحقق منه |
|---|---|---|
| عرض نص ووسائط وصوت ومسح الطبقات | تراكب Flow Actions متصل بالجلسة نفسها؛ ومصدر متصفح OBS لعرض الجمهور. | المخرج المرئي والطبقة والمدة وتوجيه الصوت. نجاح الأمر لا يثبت ظهور مشهد OBS. |
| عناصر تحكم OBS | Flow Actions متصل بـOBS بالعنوان وكلمة المرور المُهيَّأين؛ وأسماء مشاهد ومصادر مطابقة. | حالة OBS الفعلية. راجع دليل OBS. |
| تثبيت رسالة أو إبرازها | لوحة إرساء افتراضية متصلة؛ اختر معرّف رسالة حقيقيًا أو حمولة رسالة كاملة. | قائمة المثبتات في لوحة الإرساء وتراكب الرسالة المميزة. نص الدردشة الفارغ لمحفز API ليس بحد ذاته دردشة مفيدة. |
| استدعاء خطاف ويب (Call Webhook) | عنوان URL والطريقة وجسم JSON في الإجراء. | استجابة المستقبل وحقول أخطاء Event Flow؛ يصل إقرار Stream Deck قبل النتائج المؤجلة أو الخارجية. |
| إرسال رسالة / تمرير | مصدر متصل وقابل للكتابة ووجهة صريحة. | دردشة الوجهة الفعلية. طلب سير عمل ليس إذنًا لتجاوز حدود المنصة. |
| المنتجات والدعم | منتجات محفوظة ومفعلة وتراكب التجارة. | حالة SSN للتحديد أو الإخفاء أو الجدولة. راجع عناصر تحكم المنتجات. |
| السحب والتذاكر والنقاط | سحب أو نظام نقاط مُهيَّأ ومنفذ مناسب للإجراء. لا يملك حدث API المسمّى هوية مشاهد. | استخدم إعدادات السحب المسبقة على مستوى المضيف لعناصر تحكمه؛ ولا تعامل حدث API كشراء مشاهد. راجع السحوبات والنقاط. |
| تحويل النص إلى كلام وSpotify والطباعة وMIDI | اتصال كل تكامل وأذوناته وإعداد جهازه أو حسابه. | الوجهة أو الجهاز الفعلي. لا يؤدي تثبيت Stream Deck إلى تهيئة هذه التكاملات. |
إيماءات المؤقت والدردشة
المؤقت: أدر نقرة واحدة لتغيير ±10 ثوانٍ افتراضيًا؛ اضغط القرص باستمرار أثناء تدويره لتغيير ±1 دقيقة (6 أضعاف الخطوة المُهيَّأة). اضغط وأفلت دون تدوير للبدء أو الإيقاف المؤقت. انقر شاشة المؤقت لتحديثها؛ واضغط مطولًا على العرض لإعادة التعيين. الضغط المطول على القرص المادي وحده لا يعيد التعيين.
مراجعة الدردشة: أدره لليسار للدردشة الأقدم ولليمين للأحدث؛ واضغط القرص لتثبيت الرسالة التي تراجعها. انقر الشاشة لإبراز الرسالة المثبتة التالية؛ واضغط الشاشة مطولًا لإلغاء تثبيت الرسالة التي تراجعها. أبقِ لوحة الإرساء الافتراضية مفتوحة. في وضع WebSocket، فعّل تمرير الدردشة على القناة 4.
افتح المساعدة والتشخيص → دليل عناصر التحكم والأيقونات وسير العمل (Help and diagnostics → Controls, icons and workflow guide) في الإضافة للدليل الكامل دون اتصال، وأنواع الإجراءات الخمسة، وكل إعداد مسبق وأيقونة، وسلوك إعادة التعيين، والإعدادات الافتراضية وحل المشكلات.
مرجع لوحة أدوات Event Flow
تتضمن لوحة الأدوات 45 محفزًا و67 إجراء وخمس عقد منطق وأربع عقد حالة. لكل إدخال تسمية نصية إلى جانب رمزه. حدد عقدة لرؤية إعداداتها ومتطلبات تكاملها؛ وجود أيقونة في لوحة الأدوات لا يثبت اتصال الوجهة.
المحفزات تحدد متى يبدأ التدفق. اربط الشروط بـAND/OR عند الحاجة. الإجراءات تُنفَّذ حسب ترتيب اتصالها. عقد الحالة تتذكر القيم بين الأحداث. لفترة انتظار لزر، اختر محدد المعدل (Rate Limiter) (THROTTLE)، وليس إجراء Delay: يؤخر Delay كل تشغيل ولا يمنع الضغطات المتكررة.
المحفزات: Stream Deck وAPI (1)
- ▶ التشغيل من Stream Deck / API (Run from Stream Deck / API) —
apiTrigger
المحفزات: 📣 أحداث البث (9)
- 👋 متابع جديد (New Follower) —
eventNewFollower - ⭐ مشترك جديد (New Subscriber) —
eventNewSubscriber - 🔄 إعادة اشتراك/تجديد (Resub/Renewal) —
eventResub - 🎁 إهداء اشتراك (Gift Sub) —
eventGiftSub - 💰 تبرع / إكرامية (Donation / Tip) —
eventDonation - 🚀 غارة (Raid) —
eventRaid - 💎 Cheer/Bits —
eventCheer - 📋 حدث آخر… (Other Event...) —
eventOther - ✏️ حدث مخصص (Custom Event) —
eventCustom
المحفزات: OBS Studio (7)
- بدء بث OBS (OBS Stream Started) —
obsStreamStarted - توقف بث OBS (OBS Stream Stopped) —
obsStreamStopped - بدء تسجيل OBS (OBS Recording Started) —
obsRecordingStarted - توقف تسجيل OBS (OBS Recording Stopped) —
obsRecordingStopped - تغيير مشهد OBS (OBS Scene Changed) —
obsSceneChanged - انتهاء وسائط OBS (OBS Media Ended) —
obsMediaEnded - حفظ مخزن إعادة العرض في OBS (OBS Replay Buffer Saved) —
obsReplaybufferSaved
المحفزات: 💬 رسائل الدردشة (6)
- 💬 أي رسالة (Any Message) —
anyMessage - 🔍 تحتوي الرسالة على (Message Contains) —
messageContains - ▶️ تبدأ الرسالة بـ(Message Starts With) —
messageStartsWith - ⏹️ تنتهي الرسالة بـ(Message Ends With) —
messageEndsWith - 🟰 الرسالة تساوي (Message Equals) —
messageEquals - 🔤 تعبير نمطي للرسالة (Message Regex) —
messageRegex
المحفزات: 📊 خصائص الرسائل (7)
- 📏 طول الرسالة (Message Length) —
messageLength - 🔢 عدد الكلمات (Word Count) —
wordCount - 😀 تحتوي على رمز تعبيري (Contains Emoji) —
containsEmoji - 🔗 تحتوي على رابط (Contains Link) —
containsLink - 💰 تتضمن تبرعًا (Has Donation) —
hasDonation - ⚖️ مقارنة خاصية (Compare Property) —
compareProperty - ⚙️ عامل تصفية خصائص الرسالة (Message Properties Filter) —
messageProperties
المحفزات: 👤 المستخدم والمصدر (6)
- 📡 من مصدر (From Source) —
fromSource - 📺 من اسم قناة (From Channel Name) —
fromChannelName - 👤 من مستخدم (From User) —
fromUser - 👑 دور المستخدم (User Role) —
userRole - 🧠 المستخدم محفوظ (User Is Remembered) —
userMemoryContains - 🎁 استبدال نقاط القناة (Channel Point Redemption) —
channelPointRedemption
المحفزات: ⏰ التوقيت والعشوائية (4)
- 🎲 احتمال عشوائي (Random Chance) —
randomChance - ⏰ فاصل زمني (Time Interval) —
timeInterval - 🎤 عندما أقول… (When I say...) —
voicePhrase - 🕐 وقت اليوم (Time of Day) —
timeOfDay
المحفزات: 🎹 MIDI (3)
- 🎹 بدء نغمة MIDI (MIDI Note On) —
midiNoteOn - 🎹 إيقاف نغمة MIDI (MIDI Note Off) —
midiNoteOff - 🎛️ تغيير تحكم MIDI (MIDI Control Change) —
midiCC
المحفزات: 📦 متقدم (2)
- 📣 نوع الحدث (متقدم) (Event Type (Advanced)) —
eventType - شفرة مخصصة (Custom Code) —
customJs
الإجراءات: 💬 إجراءات الرسائل (14)
- 🚫 حظر الرسالة (Block Message) —
blockMessage - ✅ إرجاع الرسالة (Return Message) —
returnMessage - ⚡ متابعة غير متزامنة (Continue Async) —
continueAsync - ✏️ تعديل الرسالة (Modify Message) —
modifyMessage - ⬅️ إضافة بادئة (Add Prefix) —
addPrefix - ➡️ إضافة لاحقة (Add Suffix) —
addSuffix - 🔄 بحث واستبدال (Find & Replace) —
findReplace - ✂️ إزالة نص (Remove Text) —
removeText - 🎨 تعيين خاصية (Set Property) —
setProperty - 🌟 إبراز رسالة (Feature Message) —
featureMessage - تثبيت رسالة (Pin Message) —
pinMessage - 💬 إرسال رسالة (Send Message) —
sendMessage - 📢 تمرير الدردشة (Relay Chat) —
relay - 🪞 عامل تصفية الرسائل المرتدة (Reflection Filter) —
reflectionFilter
الإجراءات: 🔌 التكاملات (6)
- تنفيذ شفرة مخصصة (Execute Custom Code) —
customJs - 🖨️ طباعة ملصق حراري (Print Thermal Label) —
printThermal - 🌐 استدعاء خطاف ويب (Call Webhook) —
webhook - ⬆️ إضافة نقاط (Add Points) —
addPoints - ⬇️ إنفاق نقاط (Spend Points) —
spendPoints - 🎁 سحب / تذاكر (Giveaway / Tickets) —
giveawayControl
الإجراءات: 🎨 الوسائط والمؤثرات (7)
- 🖼️ عرض تراكب وسائط (Display Media Overlay) —
playTenorGiphy - 👤 إظهار الصورة الشخصية (Show Avatar) —
showAvatar - 🛍 المنتجات والدعم (Products & Support) —
commerceControl - 📝 عرض نص (Show Text) —
showText - 🗑️ مسح طبقة (Clear Layer) —
clearLayer - 🔊 تشغيل مقطع صوتي (Play Audio Clip) —
playAudioClip - ⏱️ تأخير (Delay) —
delay
الإجراءات: 🎬 OBS Studio (14)
- 🎬 تغيير المشهد (Change Scene) —
obsChangeScene - 👁️ تبديل المصدر (Toggle Source) —
obsToggleSource - 📝 تعيين مصدر نصي (Set Text Source) —
obsSetText - ⏯️ التحكم في مصدر الوسائط (Control Media Source) —
obsMediaControl - 🔊 تعيين مستوى صوت المصدر (Set Source Volume) —
obsSetVolume - 🔄 تحديث مصدر المتصفح (Refresh Browser Source) —
obsRefreshBrowser - 🎨 تبديل عامل تصفية (Toggle Filter) —
obsSetSourceFilter - 🔇 كتم/إلغاء كتم الصوت (Mute/Unmute Audio) —
obsMuteSource - 🔴 بدء التسجيل (Start Recording) —
obsStartRecording - ⏹️ إيقاف التسجيل (Stop Recording) —
obsStopRecording - 📡 بدء البث (Start Streaming) —
obsStartStreaming - ⏹️ إيقاف البث (Stop Streaming) —
obsStopStreaming - ⏺️ التحكم في مخزن إعادة العرض (Control Replay Buffer) —
obsReplayBufferControl - 💾 حفظ مخزن إعادة العرض (Save Replay Buffer) —
obsReplayBuffer
الإجراءات: 🎵 Spotify (10)
- ⏭️ تجاوز المقطع (Skip Track) —
spotifySkip - ⏮️ المقطع السابق (Previous Track) —
spotifyPrevious - ⏸️ إيقاف مؤقت (Pause) —
spotifyPause - ▶️ استئناف (Resume) —
spotifyResume - ⏯️ تبديل التشغيل/الإيقاف المؤقت (Toggle Play/Pause) —
spotifyToggle - 🔊 تعيين مستوى الصوت (Set Volume) —
spotifyVolume - 📋 إضافة إلى قائمة الانتظار (Add to Queue) —
spotifyQueue - 🎵 إعلان ما يُشغَّل الآن (Announce Now Playing) —
spotifyNowPlaying - 🔀 تبديل الترتيب العشوائي (Toggle Shuffle) —
spotifyShuffle - 🔁 تعيين وضع التكرار (Set Repeat Mode) —
spotifyRepeat
الإجراءات: 🔊 تحويل النص إلى كلام (5)
- 🗣️ نطق نص (Speak Text) —
ttsSpeak - 🔇 تبديل تحويل النص إلى كلام (Toggle TTS) —
ttsToggle - ⏭️ تجاوز تحويل النص إلى كلام (Skip TTS) —
ttsSkip - 🗑️ مسح قائمة انتظار تحويل النص إلى كلام (Clear TTS Queue) —
ttsClear - 🔊 تعيين مستوى صوت تحويل النص إلى كلام (Set TTS Volume) —
ttsVolume
الإجراءات: 🎹 MIDI (2)
- 🎹 إرسال نغمة (Send Note) —
midiSendNote - 🎛️ إرسال تغيير تحكم (Send Control Change) —
midiSendCC
الإجراءات: 🧠 ذاكرة المستخدم (4)
- 🧠 تذكر مستخدم (Remember User) —
rememberUser - 👋 نسيان مستخدم (Forget User) —
forgetUser - 🧹 مسح جميع المستخدمين (Clear All Users) —
clearUserMemory - 🎟️ اختيار مستخدم عشوائي (Pick Random User) —
pickRandomUser
الإجراءات: 🔧 التحكم في الحالة (5)
- 🚦 تعيين حالة البوابة (Set Gate State) —
setGateState - 🔄 إعادة تعيين عقدة حالة (Reset State Node) —
resetStateNode - 🔢 تعيين قيمة العداد (Set Counter Value) —
setCounter - ➕ زيادة العداد (Increment Counter) —
incrementCounter - فحص العداد (Check Counter) —
checkCounter
عقد المنطق والحالة
- 🔀 بوابة AND (AND Gate) —
AND - 🔄 بوابة OR (OR Gate) —
OR - 🚫 بوابة NOT (NOT Gate) —
NOT - 🎲 بوابة RANDOM (RANDOM Gate) —
RANDOM - 🚫 فحص الكلمات المسيئة (Check Bad Words) —
CHECK_BAD_WORDS - 🚦 مفتاح تشغيل/إيقاف (On/Off Switch) —
GATE - 🔢 عداد (Counter) —
COUNTER - ⏲️ محدد المعدل (Rate Limiter) —
THROTTLE - 🧠 ذاكرة المستخدم (User Memory) —
USER_MEMORY
تحتاج عوامل تصفية الرسائل ونقاط المشاهدين وإجراءات المستخدمين المحفوظين إلى بيانات رسالة أو مستخدم ذات معنى. لا يوفر زر المضيف مشاهدًا حقيقيًا ولا وجهة رد إلى المصدر. اختر عناصر تحكم المضيف أو وجهة مُهيَّأة صريحة؛ ولا تستخدم سير عمل مسمّى لانتحال مشاهد.
لتفاصيل الربط، راجع دليل Event Flow, دليل عقد الحالة, دليل ذاكرة المستخدم، و دليل OBS.
معالجة حالة فشل
- استخدم تدفق Show Text بسيطًا أولًا وتحقق من مخرجه.
- احفظ وفعّل؛ ثم حدّث قائمة سير العمل في Stream Deck. تأكد من اسم المحفز ومعرّف التدفق معًا.
- تأكد من أن SSN مفعّل وأن الاتصال Online وأن تراكب الوجهة متصل بالجلسة نفسها.
- افحص استدعاء رجوع API أو تشخيص الإضافة بحثًا عن أخطاء العثور أو التحقق. لحالات الفشل بعد القبول، افحص الوجهة وسجلات تشغيل Event Flow.
- أضف تكاملات أخرى واحدًا تلو الآخر. اختبر الضغطات المتكررة وتدفقًا معطلًا وإعادة الاتصال قبل الاستخدام المباشر.
ترسل لوحة اختبار الدردشة العادية في المحرر حدث دردشة. ولا تنتحل محفز API مسمّى. اختبر هذا المحفز عبر Stream Deck أو API للتحقق من المسار الكامل.