مركز المساعدة · للطاقم الإداري

ربط Discord

توضّح هذه المقالة كيف تنشر نشاط شركة الطيران في قناة على Discord، وكيف تربط خادم Discord الخاص بك ليحصل الطيارون المرتبطون على رقم الطيار (pilot ID) الخاص بهم كاسم مستعار.

إعدادات Discord في شركة الطيران التجريبية
إعدادات Discord في شركة الطيران التجريبية

تحتاج إلى صلاحية ربط Discord (Discord connection) (أو أن تكون المالك). كل شيء في الطاقم الإداري ← إعدادات شركة الطيران ← الإعدادات (Staff → Airline settings → Settings)، في تبويب المجتمع (Community)، في خمسة أجزاء بترتيب الإعداد: خادم Discord (Discord server) (الربط ورابط الدعوة وفحص الاتصال)، والأعضاء (Members) (الأسماء المستعارة والأدوار والانضمام والمغادرة)، والأدوار (Roles) (الدور الذي تمنحه كل رتبة وكل مركز عمليات)، والمنشورات (Posts) (ما يُنشر وأين)، وسجل الطاقم (Staff log).

نشر النشاط في قناة

يستخدم هذا webhook من Discord. وهو يعمل وحده، دون البوت.

  1. في Discord، افتح في القناة Edit Channel ← Integrations ← Webhooks ← New Webhook (Edit Channel → Integrations → Webhooks → New Webhook)، ثم اضغط Copy Webhook URL (Copy Webhook URL).
  2. في Vaeroly، انتقل إلى الطاقم الإداري ← إعدادات شركة الطيران ← الإعدادات ← المجتمع ومرّر إلى المنشورات (Posts). إذا كان خادمك مربوطًا، فافتح أولًا استخدام webhooks بدلًا من ذلك (Use webhooks instead).
  3. الصق الرابط في رابط الـ webhook الرئيسي (Main webhook URL).
  4. في الجدول، حدّد تشغيل (On) لما تريد نشره (ويبقى المكان (Where) لكل نوع على الـ webhook الرئيسي (Main webhook)): الإقلاعات (Departures)، والوصول (Arrivals)، وتقارير PIREP (PIREPs)، وتقارير PIREP بانتظار المراجعة (للطاقم) (PIREPs waiting for review (for staff))، والترقيات في الرتب (Rank promotions)، والطيارون الجدد (New pilots)، والأوسمة (Awards)، والأخبار (News posts)، والفعاليات الجديدة (New events)، والملخص الأسبوعي (Weekly recap)، وإشعارات NOTAM للمطارات (Airport NOTAMs)، والحجوزات الجديدة (New bookings)، والملخص اليومي (Daily summary)، والملخص اليومي للطاقم (Daily staff summary). أما إشعارات NOTAM للمطارات والحجوزات الجديدة وتقارير PIREP بانتظار المراجعة والملخص اليومي والملخص اليومي للطاقم فأحدث من غيرها، وتبقى متوقفة حتى تحدّدها.
  5. اضغط حفظ (Save).
  6. اضغط إرسال رسالة تجريبية (Send test message) وتحقق من القناة.

الوصول وتقارير PIREP

هذان نوعان منفصلان من المنشورات:

  • الوصول (Arrivals): منشور قصير عند هبوط الطيار، فور إبلاغ ACARS بلحظة ملامسة المدرج. يعرض الطيار ورقم الرحلة ومطار الوصول ومعدل الهبوط (وقوة G إن عُرفت) ورابطًا إلى الخريطة الحية. يُنشر مرة واحدة لكل رحلة. أما الرحلات المُدخلة يدويًا أو المُطالَب بها فلم تُبلغ عن ملامسة المدرج، فلا يُنشر لها منشور وصول.
  • تقارير PIREP (PIREPs): تقرير PIREP المُرسَل، مع الطائرة والهبوط ومدة الرحلة والنقاط والحالة. التقرير الذي يحتاج إلى مراجعة يظهر باللون البرتقالي ويبدأ بعبارة ⚠️ يحتاج إلى مراجعة (⚠️ Needs review)، تليها أسباب الإشارة إليه. وحين يقرّر الطاقم، يُحدَّث المنشور نفسه: أخضر عند القبول، وأحمر عند الرفض.

شركات الطيران التي كانت قد حدّدت الوصول وتقارير PIREP قبل الفصل صار النوعان محدَّدين لديها، بالقنوات والأدوار نفسها. وإذا اخترت دورًا تُشير إليه في تقارير PIREP، فإن خيار الإشارة فقط عندما يحتاج تقرير PIREP إلى مراجعة (Mention only when a PIREP needs review)، المفعَّل افتراضيًا، لا يُنبّه هذا الدور إلا للتقارير التي تنتظر قرارًا.

إذا وجدت أن منشورين لكل رحلة أكثر مما ينبغي، فألغِ تحديد تشغيل (On) لـ الوصول (Arrivals) في المنشورات (Posts) واضغط حفظ (Save): يبقى منشور تقرير PIREP كما هو. وحدّده مرة أخرى لتعود منشورات الوصول.

لإيقاف النشر، أفرغ رابط الـ webhook الرئيسي واضغط حفظ. احتفظ برابط webhook سرًّا: فأي شخص يملكه يستطيع النشر في تلك القناة.

قناة مختلفة لكل حدث

يُنشر كل ما ضُبط على الـ webhook الرئيسي في قناة رابط الـ webhook الرئيسي (القناة الرئيسية)، ما لم تخصّص لحدثٍ قناته الخاصة. مثلًا: تقارير PIREP في ‎#pireps، والترقيات في ‎#promotions، والأخبار في ‎#announcements.

  1. في Discord، أنشئ webhook في القناة الأخرى وانسخ رابطه، كما في الخطوات أعلاه.
  2. في جدول المنشورات، اختر webhook خاص… (Own webhook…) في المكان الخاص بالحدث.
  3. الصق الرابط في رابط الـ webhook الخاص (Own webhook URL)، الذي يظهر تحته.
  4. تأكّد من تحديد الحدث، ثم اضغط حفظ.

اختر الـ webhook الرئيسي ليعود نشر الحدث إلى القناة الرئيسية. ويمكن لعدة أحداث أن تستخدم الـ webhook نفسه.

الخبر في منشورات الأخبار (News posts) الموجّه لبعض الطيارين فقط (رتبة وما فوقها، أو مركز عمليات) لا يُنشر كاملًا: تتلقى القناة إشعارًا قصيرًا يذكر لمن هو، مع رابط لقراءته في مركز الطاقم.

يُنشر الحدث الذي له قناة خاصة حتى لو كان رابط الـ webhook الرئيسي فارغًا. فيمكنك مثلًا ألّا تنشر إلا الملخص الأسبوعي، في قناة واحدة. أما الحدث غير المحدَّد فلا يُنشر في أي مكان، حتى لو كانت له قناة خاصة.

يرسل زر إرسال رسالة تجريبية رسالةً تجريبية واحدة إلى كل قناة أعددتها، ويخبرك عن كل قناة هل نجح الإرسال أم لا. وتُسمّى القنوات بأحداثها، لا برابطها أبدًا.

إذا نقلت منشورات تقارير PIREP إلى قناة أخرى، فلن تُحدِّث قرارات الطاقم بشأن التقارير الأقدم منشوراتِها القديمة.

إذا أخبرك Vaeroly أن الرابط ليس webhook من Discord، فانسخه مرة أخرى من إعدادات Webhooks في القناة. يبدأ الرابط بـ https://discord.com/api/webhooks/.

النشر عبر البوت، مع دور تُشير إليه

بعد ربط خادمك (انظر أدناه)، يمكن أن يذهب كل نوع من المنشورات إلى قناة تختارها من قائمة، فينشره البوت نفسه دون webhook. ويمكن لكل نوع أيضًا أن يُشير (mention) إلى دور واحد، مثل ‎@Alerts على إشعارات NOTAM أو ‎@Events على الفعاليات الجديدة.

  1. في جدول المنشورات، اختر قناةً في المكان الخاص بنوع المنشور. لا تعرض القائمة إلا القنوات التي يستطيع البوت النشر فيها (يحتاج فيها إلى View Channel وSend Messages وEmbed Links).
  2. اختر دورًا في عمود الإشارة (Mention) الخاص به إن أردت.
  3. تأكّد من تحديد نوع المنشور، ثم اضغط حفظ.

يُنشر النوع الذي له قناة عبر البوت هناك بدلًا من الـ webhook. وإن كان له webhook خاص أيضًا، فيُحتفظ به ويُستخدم كلما تعذّر على البوت النشر. والإشارة إلى الدور تعمل في منشورات الـ webhook أيضًا.

الدور المختار هو الشيء الوحيد الذي يمكن لمنشور أن يُنبّهه: أسماء الطيارين في المنشورات لا تُنبّه أحدًا، ولا يُستخدم ‎@everyone أبدًا. في Discord، فعّل في إعدادات الدور Allow anyone to @mention this role، وإلا ظهرت الإشارة دون تنبيه.

الأنواع الواردة تحت للطاقم فقط (For staff only) في أسفل الجدول، أي تقارير PIREP بانتظار المراجعة والملخص اليومي للطاقم، مخصّصة لقناة لا يقرؤها إلا الطاقم. ولا تعرض المنشورات أبدًا عناوين البريد الإلكتروني للطيارين ولا معرّفاتهم على الشبكات.

الملخصات اليومية

ينشر الملخص اليومي أرقام اليوم السابق بعد منتصف الليل بقليل: عدد الرحلات، والساعات، والطيارين أصحاب أكثر الرحلات، وأنعم هبوط (ويُستثنى الطيارون الذين أخفوا أنفسهم من لوحات الصدارة). ويضيف الملخص اليومي للطاقم تقارير PIREP بانتظار المراجعة، والتقارير المرفوضة، والهبوطات القاسية، وطلبات الانضمام المنتظرة، والحجوزات التي أُجريت.

يُنشران مرة واحدة في اليوم، في الساعات الأولى بعد منتصف الليل حسب المنطقة الزمنية المضبوطة مباشرة تحت الملخص اليومي في جدول المنشورات (UTC ما لم تختر غيرها، مثل Europe/London أو Asia/Dubai). لا يوجد لشركة الطيران إعداد آخر للمنطقة الزمنية، فهذا الإعداد يحدّد فقط موعد نشر الملخصات.

ربط خادم Discord الخاص بك

يتيح ربط الخادم لبوت Vaeroly أن يمنح الطيارين المرتبطين رقم الطيار الخاص بهم في شركة الطيران كاسم مستعار.

  1. أضف بوت Vaeroly إلى خادمك باستخدام الرابط الموجود في خادم Discord. إذا لم يوجد رابط، فاطلبه من مسؤول المنصة. يطلب الرابط هذه الصلاحيات: View Channels وSend Messages وEmbed Links (للنشر في القنوات التي تختارها)، وManage Nicknames وManage Roles وCreate Invite، ومعها Kick Members عند تفعيل إزالتهم أيضًا من خادم Discord. البوت الذي أُضيف قبل هذه الخيارات يحتاج إلى فتح الرابط مرة أخرى ليحصل على الصلاحيات الجديدة (ويحتفظ Discord برسائل البوت وأدواره).
  2. في خادمك، اكتب /setup. لا يستطيع استخدامه إلا الأعضاء الذين لديهم صلاحية Manage Server في Discord.
  3. اضغط الزر الموجود في الرد. سجّل الدخول إلى Vaeroly إذا طُلب منك ذلك.
  4. اختر شركة الطيران الخاصة بك في صفحة ربط خادم Discord (Connect a Discord server).

يعرض خادم Discord الآن متصل (Connected) واسم الخادم. كل خادم Discord يتبع شركة طيران واحدة. واختيار شركة طيران لديها خادم بالفعل يستبدل ذلك الخادم.

لا يعمل زر /setup إلا لمدة قصيرة. إذا انتهت صلاحيته، فاكتب /setup مرة أخرى.

السماح للطيارين بربط حساباتهم

يكتب الطيارون /link في خادمك ويضغطون الزر. ثم يسجّلون الدخول إلى Vaeroly ويؤكدون، فيتغير اسمهم المستعار إلى رقم الطيار الخاص بهم.

لتسهيل ذلك، اكتب /linkpanel في قناة مثل #verify. سينشر البوت رسالة تحتوي على زر ربط حسابي (Link my account) تبقى هناك.

يمكن للطيارين أيضًا ربط Discord من صفحة الملف الشخصي (Profile) الخاصة بهم.

صيغة الاسم المستعار والدور

في الأعضاء يمكنك ضبط:

  • صيغة الاسم المستعار (Nickname format): يجب أن تحتوي على {code} (رقم الطيار). و{name} هو اسم الطيار. القيمة الافتراضية هي {code} | {name}. يسمح Discord بـ 32 حرفًا كحد أقصى، لذا يُختصر الاسم عند الحاجة.
  • دور للطيارين المرتبطين (اختياري) (Role for linked pilots (optional)): بعد ربط البوت، اختر الدور من القائمة. لا يمكن اختيار الأدوار التي لها صلاحيات، لأن كل طيار مرتبط يحصل على هذا الدور. وإذا تعذّر عرض القائمة، فالصق معرّف الدور بدلًا من ذلك: في Discord، انتقل إلى Server Settings ← Roles (Server Settings → Roles)، وانقر بزر الفأرة الأيمن على الدور واختر Copy Role ID (Copy Role ID).

اضغط حفظ. إذا كان خيار تحديث الأسماء المستعارة تلقائيًا مفعّلًا (وهو الافتراضي، في الأعضاء أيضًا)، يحصل الطيارون الذين ربطوا حساباتهم بالفعل على الاسم المستعار الجديد في الخلفية. وإلا فاضغط تحديث جميع الأسماء المستعارة الآن (Update all nicknames now).

لكي تعمل الأسماء المستعارة والأدوار، يجب أن يكون دور البوت أعلى من أدوار طياريك في Server Settings ← Roles. ولا يستطيع أي بوت أبدًا تغيير اسم مالك الخادم.

الأدوار حسب الرتبة

إذا فعّلت شركة الطيران ميزة أدوار Discord حسب الرتبة (Discord roles by rank) (من الطاقم الإداري ← إعدادات شركة الطيران ← ميزات اختيارية (Staff → Airline settings → Optional features))، يمكنك اختيار دور Discord (Discord role) لكل رتبة في الطاقم الإداري ← العمليات ← الرتب (Staff → Operations → Ranks). يحصل الطيارون المرتبطون على دور رتبتهم الحالية، ويتغير عند ترقيتهم. ويفقد الطيارون الذين يغادرون أو يُوقَفون أدوار شركة الطيران واسمهم المستعار المبني على رقم الطيار. يحتاج البوت إلى صلاحية Manage Roles في Discord، ويجب أن يكون دوره أعلى من أدوار الرتب.

دع البوت ينشئ الأدوار. بدلاً من إنشاء الأدوار في Discord واختيارها يدويًا، اضغط إنشاء الأدوار وترتيبها في Discord (Create and arrange roles in Discord) في بطاقة مزامنة الأدوار مع Discord (Sync roles with Discord) في الطاقم الإداري ← العمليات ← الرتب. تحتاج إلى صلاحيتَي الرتب (Ranks) واتصال Discord (Discord connection).

  1. تظهر لك معاينة لما سيحدث في خادمك: الأدوار التي ستُنشأ (دور لكل رتبة ليس لها دور، باسم الرتبة)، والتي سيُغيَّر اسمها، والتي ستُنقل، والتي ستبقى كما هي. لا يتغير شيء بعد.
  2. اضغط تأكيد وتطبيق في Discord (Confirm and apply in Discord). يقرأ البوت خادمك من جديد أولاً، فإن تغيّر شيء في Discord منذ المعاينة، تظهر لك المعاينة الجديدة لتؤكدها مرة أخرى.
  3. ينشئ البوت الأدوار الناقصة ويرتّب أدوار الرتب كلها في مجموعة واحدة أسفل دوره مباشرة، وأعلى رتبة في الأعلى. الأدوار التي اخترتها لرتبة من قبل تبقى كما هي ولا تُنسخ. وإن حُذف دور مختار في Discord، يُنشأ للرتبة دور جديد.
  4. بعد ذلك يحصل الطيارون المرتبطون على دور رتبتهم، في الخلفية.

بعد أول مزامنة، تنتقل تعديلات الرتب إلى Discord تلقائيًا: تغيير اسم رتبة يغيّر اسم دورها، والرتبة الجديدة تحصل على دور في مكانه الصحيح، وتغيير المتطلبات يعيد ترتيب الأدوار. وعند حذف رتبة، تختار بين ترك دورها في الخادم (الخيار الافتراضي) أو حذفه أيضًا. وتُسجَّل كل مزامنة في سجل النشاط (Activity log).

خيارات في البطاقة نفسها (تُطبَّق في المزامنة التالية، بعد المعاينة):

  • أدوار للطاقم الإداري (Roles for staff): بلا أدوار، أو دور واحد باسم Staff، أو دور لكل دور من أدوار الطاقم (باسم لقبه). يحصل عليها أعضاء الطاقم المرتبطون، ويفقدونها حين يتوقفون عن كونهم من الطاقم. تأتي أدوار الطاقم في أعلى المجموعة.
  • عرض أدوار الرتب منفصلة في قائمة الأعضاء (Show rank roles separately in the member list): يعرض Discord الأعضاء مجمّعين حسب رتبهم.
  • منح كل دور لون رتبته (Give each role its rank's colour): ذهبي أو فضي أو أبيض، حسب لون شارة الرتبة.

قبل أي تغيير، يتحقق البوت من أن لديه صلاحية Manage Roles (أو Administrator) وأن دوره أعلى من كل أدوار الرتب. وإن لم يكن كذلك، لا يغيّر شيئًا ويخبرك بما يجب إصلاحه، مثل: «انقل دور Vaeroly فوق أدوار رتبك في Server Settings › Roles، ثم حاول مرة أخرى.» كما يتوقف قبل أن يتجاوز خادمك حد Discord البالغ 250 دورًا. وإن أوقفه Discord في منتصف العمل، تعرض الصفحة ما تم وما لم يتم.

لا يلمس البوت أبدًا دور @everyone، ولا الأدوار التي يديرها Discord (أدوار البوتات الأخرى ودور المعزِّزين والتكاملات والأدوار المرتبطة)، ولا الأدوار الأعلى من دوره، ولا أي دور ليس دورًا لرتبة أو للطاقم. ولا يمنح أي دور صلاحيات أبدًا: الأدوار الجديدة بلا صلاحيات، ولا يغيّر في الدور إلا اسمه ولونه وطريقة عرضه. حدّد بنفسك في Discord ما يستطيع كل دور فعله.

خريطة الأدوار وأدوار مراكز العمليات وأدوار طيار واحد

يحصل الطيار المرتبط على ثلاثة أنواع من الأدوار: دور الطيارين المرتبطين (في الأعضاء)، ودور رتبته (عند تفعيل أدوار Discord حسب الرتبة)، ودور مركز عملياته. لا يمنح البوت إلا الدور المختار لذلك. ولا يختار أبدًا دورًا حسب اسمه: فدور في Discord باسم "WZZ Captain" لا يُمنح لقادتك حتى يُختار لرتبة Captain.

تعرض بطاقة الأدوار (Roles) في تبويب المجتمع هذه الأدوار في ثلاث قوائم، لكل منها عدّاد خاص (All mapped أو عدد العناصر التي بلا دور):

  • دور الطيارين المرتبطين (Role for linked pilots): الدور المختار في الأعضاء (غيّره هناك).
  • أدوار الرتب (Rank roles): الدور المختار لكل رتبة في الطاقم الإداري ← العمليات ← الرتب. وعندما تكون أدوار Discord حسب الرتبة معطّلة، تذكر القائمة ذلك.
  • أدوار المراكز (Hub roles): اختر دورًا لكل مركز واضغط حفظ أدوار المراكز (Save hub roles). والطيار الذي ينتقل إلى مركز آخر يحصل على دور المركز الجديد ويفقد دور القديم.

عندما يحمل دور في Discord اسمًا يشبه رتبة أو مركزًا بلا دور (تُتجاهل حالة الأحرف والرموز التعبيرية والبادئة مثل رمز ICAO لشركتك، فيطابق "WZZ Captain" أو "🛫 captain" رتبة Captain، ويطابق "EGGW Crew" المركز EGGW)، تقترحه القائمة. ويختار زر استخدام الأدوار المطابقة (Use the matching roles) تحت قائمة الرتب أو قائمة المراكز اقتراحات تلك القائمة دفعة واحدة. ثم اضغط إعادة المزامنة الآن في الأعضاء ليحصل عليها الطيارون الذين ربطوا حساباتهم من قبل.

تحت كل قائمة، يفعّل زر عرض هذه الأدوار بشكل منفصل في قائمة الأعضاء في Discord (Show these roles separately in Discord's member list) خيار Discord "Display role members separately from online members" لكل دور في تلك القائمة، مرة واحدة عند الضغط عليه؛ ويوقفه زر إيقاف عرضها بشكل منفصل (Stop showing them separately). لا تتغير إلا الأدوار المختارة في تلك القائمة، وتعلّم القائمة كل دور يُعرض منفصلًا.

لرؤية أدوار طيار واحد، افتح الطيار في الطاقم الإداري ← الطيارون واضغط أدوار Discord: التحقق والمزامنة (Discord roles: check and sync). تسرد الصفحة الأدوار التي يتوقع Vaeroly أن يحملها، وما يحمله منها، وما لا يمكن منحه وسببه (مثل أن الدور أعلى من دور البوت)، والأدوار غير المُعدّة له، واسمه المستعار. ويمنح المزامنة الآن (Sync now) ذلك الطيار اسمه المستعار وأدواره فورًا (مرة كل دقيقة).

الأدوار التي لا يمنحها Vaeroly، مثل دور المختبِرين أو دور فعالية، لا تُسحب أبدًا.

القنوات حسب الرتبة

لفتح قناة لبعض الرتب فقط، استخدم أدوار الرتب:

  1. في Discord، افتح Edit Channel → Permissions للقناة.
  2. تحت Roles/Members، اختر @everyone وأوقف View Channel (علامة ✕ الحمراء).
  3. أضف دور الرتبة وفعّل View Channel (علامة ✓ الخضراء). أضف أدوار الرتب الأعلى أيضاً إن كان ينبغي أن تراها.

لا يغيّر Vaeroly قنواتك بنفسه أبداً. للتحقق من الإعداد، اضغط تحقق من القنوات حسب الرتبة في مربع Discord في الطاقم الإداري ← العمليات ← الرتب. تعرض الصفحة القنوات التي يفتحها دور كل رتبة. وتنبّه إلى قنوات الرتب التي يراها الجميع على أي حال، وإلى أدوار الرتب الأعلى من دور البوت (لا يستطيع البوت منحها للطيارين). كما تعرض القنوات التي لا يراها البوت، وهذا لا بأس به للقنوات الخاصة، فالبوت يحتاج فقط إلى إدارة الأدوار.

البوت في خادمك: الانضمام وإعادة المزامنة وفحص الاتصال

تجد الانضمام وإعادة المزامنة الآن في الأعضاء، وفحص الاتصال في خادم Discord، في تبويب المجتمع من الطاقم الإداري ← إعدادات شركة الطيران ← الإعدادات (Staff → Airline settings → Settings → Community)، بعد ربط خادم. تحتاج إلى صلاحية اتصال Discord (Discord connection). وفي Discord، يحتاج الأمران /resync و/healthcheck إلى صلاحية Manage Server (أو Administrator)، ويتحقق البوت منها بنفسه في كل مرة. ولا يعمل أي أمر إلا على شركة الطيران المرتبطة بالخادم الذي كُتب فيه.

الأدوار عند انضمام طيار مرتبط

ضع علامة على منح الأدوار عند انضمام طيار مرتبط (Give roles when a linked pilot joins) واضغط حفظ (الخيار متوقف حتى تفعّله). عندما ينضم أحد إلى خادمك:

  • الطيار المرتبط في شركتك يحصل فورًا وفي خطوة واحدة على اسمه المستعار برقم الطيار، ودور الطيارين المرتبطين، ودور رتبته.
  • من ربط حسابه في Vaeroly لكنه ليس من طياريك يتلقى ملاحظة قصيرة فيها رابط التقديم إلى شركتك.
  • من لم يربط حسابه بعد يتلقى ملاحظة قصيرة تدلّه على زر Link my account (أو الأمر /link).

أين تصل الملاحظة:

  • إذا وضعت علامة على إرسال الملاحظة كرسالة خاصة (Send the note as a direct message)، يرسلها البوت رسالةً خاصة.
  • وإلا، إذا اخترت قناة إشعارات الانضمام (Join notice channel)، ينشرها البوت هناك مع الإشارة إلى العضو. ولا تعرض القائمة إلا القنوات التي يستطيع البوت النشر فيها.
  • وإن لم تختر أيًّا منهما، فلا تُرسل ملاحظة، ويحصل الطيارون المرتبطون على أدوارهم مع ذلك.

يُسجَّل في سجل النشاط (Activity log) كل طيار انضم وحصل على أدواره، وفي قناة الطاقم أيضًا إن اخترتها في سجل الطاقم (أدناه).

يحتاج هذا إلى مستمع Discord على المنصة وإلى تفعيل Server Members Intent للبوت في Discord (يُعدّهما مدير المنصة مرة واحدة). إذا لم يحصل الطيارون المرتبطون على أدوارهم عند الانضمام، فاسأله.

قرارات تقارير الرحلات برسالة خاصة

ضع علامة على أرسل إلى الطيارين قرارات تقارير رحلاتهم برسالة خاصة (Send pilots their PIREP decisions as a direct message) واضغط حفظ (الخيار متوقف حتى تفعّله). عندما يقبل الطاقم رحلة أو يرفضها أو يلغي احتسابها، أو يغيّر قرارًا، أو ترفض قواعد شركتك رحلة عند تقديمها، يتلقى الطيار المرتبط رسالة خاصة من البوت فيها القرار وملاحظات الطاقم ورابط إلى التقرير، بلغة الطيار.

لا تصل الرسالة إلى الطيارين غير المرتبطين أو الذين أغلقوا الرسائل الخاصة من خادمك. وتبقى صفحة التقرير وإشعاره يعرضان القرار، ويُرسل البريد الإلكتروني كالمعتاد إن كانت شركتك ترسله.

إعادة المزامنة

يعيد زر إعادة المزامنة الآن (Re-sync now) (أو الأمر /resync في Discord) الاسم المستعار والأدوار لكل طيار مرتبط في خادمك، مثلًا بعد أن غيّر أحدهم الأدوار يدويًا.

  • ضع علامة على تجربة فقط (تقرير دون أي تغيير) (Dry run (report only, change nothing)) (أو اكتب /resync dry_run:True) لترى أولًا ما الذي سيتغير.
  • يمكن تشغيل إعادة المزامنة الفعلية مرة كل ساعة: فكل شركات الطيران تتشارك بوت Vaeroly نفسه، وDiscord يُبطئ البوت الذي يغيّر أعضاء كثيرين في وقت قصير. وقبل ذلك تظهر لك رسالة مثل: «تمت إعادة المزامنة قبل 12 دقيقة؛ حاول مجددًا بعد 48 دقيقة.» وإذا غيّرت خريطة الأدوار منذ آخر إعادة مزامنة (اخترت أو طابقت دورًا للطيارين المرتبطين أو لرتبة أو لمركز)، فيمكنك تشغيلها مجددًا بعد 5 دقائق. أما التجربة فيمكن تشغيلها في أي وقت.
  • لإصلاح طيار واحد دون انتظار، افتحه من الطاقم الإداري ← الطيارون، واضغط أدوار Discord: التحقق والمزامنة، ثم المزامنة الآن (مرة في الدقيقة لكل طيار).
  • تعمل في الخلفية. على الموقع، أعد تحميل الصفحة بعد دقيقة أو دقيقتين لترى التقرير. وفي Discord، يرد البوت بالتقرير حين ينتهي.

يبيّن التقرير من تغيّر، ومن كان صحيحًا أصلًا، ومن تعذّر تغييره ولماذا: ليس في الخادم، أو هو مالك الخادم (لا يستطيع أي بوت تغيير اسمه)، أو أعلى أدواره فوق دور البوت، أو دور رتبة فوق دور البوت (فيتركه البوت كما هو)، أو أن البوت لا يملك صلاحية Manage Nicknames أو Manage Roles. وتُسجَّل كل إعادة مزامنة في سجل النشاط، وتُنشر نتيجتها في قناة الطاقم إن اخترتها.

فحص الاتصال

يتحقق زر فحص الاتصال (Check connection) (أو الأمر /healthcheck في Discord) بالترتيب من:

  1. أن البوت متصل (يقبل Discord رمزه).
  2. أن خادمك مرتبط وأن البوت عضو فيه.
  3. أن لدى البوت صلاحيتَي Manage Roles وManage Nicknames.
  4. أن دور البوت أعلى من كل أدوار الرتب، وأنه لم يُحذف في Discord أي دور اختير لرتبة.
  5. أن البوت يستطيع النشر (View Channel وSend Messages وEmbed Links) في قناة إشعارات الانضمام، وفي قناة الطاقم لرسائل البوت، وفي كل قناة للبوت اختيرت في جدول المنشورات.
  6. أن لدى البوت صلاحية Kick Members، إذا كان خيار إزالتهم أيضًا من خادم Discord مفعَّلًا.
  7. موعد آخر مزامنة ناجحة.

تأتي مع كل مشكلة طريقة حلّها، مثل: «انقل دور Vaeroly فوق أدوار رتبك في Server Settings › Roles، ثم حاول مرة أخرى.»

/ping

يستطيع أي عضو في خادمك كتابة /ping. يرد البوت بـ «Pong!» مع زمن استجابته واسم شركة الطيران المرتبطة بهذا الخادم.

خادم واحد لشركة طيران واحدة

كل خادم Discord يتبع شركة طيران واحدة، ولا يمكن مشاركة خادم واحد بين عدة شركات. فذلك يتطلب ربط الخادم بعدة شركات، ومجموعة أدوار منفصلة لكل شركة، وطريقة لتحديد الشركة التي يقصدها أمر مثل /resync، وقاعدة للأسماء المستعارة حين يطير الطيار لأكثر من شركة منها.

سجل الطاقم وخيارات الأعضاء

يظهر سجل الطاقم بعد ربط خادمك، أما الخيارات الأخرى أدناه ففي الأعضاء. ويُسجَّل كل تغيير فيها في سجل النشاط.

قناة الطاقم لرسائل البوت

اختر قناة (لا يقرؤها إلا الطاقم) فينشر فيها البوت ما فعله في خادمك: الأسماء المستعارة والأدوار التي غيّرها، والطيارين الذين أزالهم من الخادم، وأخطاء الصلاحيات التي واجهها (مثل غياب Manage Nicknames)، ونتائج تحديث جميع الأسماء المستعارة الآن ومزامنة الأدوار وإعادة المزامنة، والطيارين المرتبطين الذين انضموا إلى الخادم وحصلوا على أدوارهم، والطيارين الذين ربطوا Discord أو فكّوا ربطه. والسطور التي تأتي معًا تُرسل في رسالة واحدة. اختر لا شيء لإيقاف ذلك.

الأسماء المستعارة تتبع الأسماء وأرقام الطيارين

عند تفعيل تحديث الأسماء المستعارة تلقائيًا، يتغير الاسم المستعار للطيار فور تغيّر اسمه أو رقمه، وبعد تغيير صيغة الاسم المستعار، وبعد تغيير رمز ICAO لشركة الطيران (وحينها لكل الطيارين المرتبطين، على دفعات صغيرة، مع سطر واحد في سجل النشاط). يحتفظ الاسم المستعار دائمًا برقم الطيار كاملًا، ولا يُختصر إلا الاسم ليبقى في حدود 32 حرفًا التي يسمح بها Discord.

عند مغادرة طيار

عندما يغادر طيار، أو يُزال من شركة الطيران (الإزالة من شركة الطيران (Remove from the airline) في صفحة الطيار)، أو يحذف حسابه، يستعيد البوت أدوار شركة الطيران واسمه المستعار المبني على رقم الطيار. والطيارون الموقوفون يفقدون الأدوار أيضًا.

حدّد إزالتهم أيضًا من خادم Discord (Also remove them from the Discord server) لإزالة (طرد) هؤلاء الطيارين من خادمك أيضًا. هذا الخيار متوقف افتراضيًا.

تحذير: العضو الذي يُزال يفقد كل قنوات خادمك، لا قنوات شركة الطيران فقط، ويحتاج إلى دعوة جديدة ليعود.

لا يزيل البوت أبدًا مالك الخادم، ولا طاقم شركة الطيران، ولا الأعضاء الذين لديهم Administrator أو Manage Server أو Kick Members أو Ban Members، ولا الأعضاء الذين يعلو أعلى أدوارهم دورَ البوت. ولا يُزال الطيارون الموقوفون أبدًا. يحتاج البوت إلى صلاحية Kick Members: وبدونها يكتفي بالتنظيف المعتاد ويذكر السبب في سجل النشاط وقناة الطاقم. وتُسجَّل كل إزالة (أو سبب عدم حدوثها) في سجل النشاط.

حدود Discord

عندما يطلب Discord من البوت التمهّل، ينتظر ثم يحاول مرة أخرى. والعمليات الكبيرة (الاسم المستعار لكل الطيارين) تجري على دفعات صغيرة في الخلفية، ولا تؤخّر مشكلةُ شركة طيران واحدة شركةً أخرى.

فصل الخادم

اضغط فصل الخادم (Disconnect server) في خادم Discord. لا يتأثر النشر في القناة عبر webhook.

مقالات ذات صلة

هل كان هذا مفيدًا؟