Discord Tickets بوت تذاكر جاهز: يفتح الأعضاء قنوات تذاكر خاصة، ويرد فريقك عليها ويستلمها ويغلقها، وتُحفظ النصوص الكاملة للتذاكر. تُعدّه في لوحة تحكم الويب الخاصة به. يحتاج إلى رمز بوتك، وClient secret الخاص بتطبيقك، والـ intents المميزة الثلاثة كلها، ورابط إعادة توجيه واحد يُضاف في Developer Portal. دون كود.
- في Discord Developer Portal، أنشئ البوت وانسخ رمزه وClient Secret الخاص به، وفعّل الـ intents المميزة الثلاثة كلها.
- في لوحة التحكم، اجعل السيرفر يشغّل Discord Tickets (تغيير ما يعمل).
- الصق الرمز في بطاقة إعداد بوتك في نظرة عامة، وسر العميل تحت البوت، البيئة، بيانات الاعتماد.
- ادعُ البوت بـ رابط الدعوة.
- شغّله، وأضف عنوان إعادة التوجيه من Console إلى صفحة OAuth2 في Portal، ثم أعدّ البوت في لوحة التحكم الخاصة به.
كل خطوة بالتفصيل أدناه.
قبل أن تبدأ
- أنشئ البوت في Discord Developer Portal وانسخ رمزه: كيف تنشئ بوت Discord وتحصل على رمزه.
- في صفحة Bot الخاصة بالتطبيق، فعّل Presence Intent وServer Members Intent وMessage Content Intent، واضغط Save Changes. يطلب البوت الثلاثة كلها من Discord عند تسجيل دخوله.
- في صفحة OAuth2، انسخ Client Secret (اضغط Reset Secret إن كان مخفيًا). يستخدمه تسجيل الدخول إلى لوحة التحكم. أبقِه سريًا كالرمز.
1. اجعل السيرفر يشغّل Discord Tickets
- افتح سيرفرك في لوحة التحكم. في نظرة عامة، في بطاقة إعداد بوتك، اضغط الخطوة ما الذي يعمل. تقول «يشغّل هذا البوت Discord Tickets.» عندما يكون النوع صحيحًا أصلًا.
- إن لم يكن، فاضغط تغيير ما يعمل (أو اسم نوع البوت في أعلى الصفحة)، واختر Discord Tickets، واضغط الخطوة التالية، وحدّد خانة التأكيد، ثم اضغط تغيير نوع الخادم.
2. الصق الرمز وسر العميل
- بطاقة الإعداد، الخطوة الاتصال بـ Discord: الصق الرمز في الصق رمز بوتك، واضغط الاتصال، ثم نعم، متابعة.
- افتح صفحة البوت واضغط البيئة (تقود إليها أيضًا الخطوة الأخيرة في بطاقة الإعداد برابط افتح البيئة، وتُبقي تشغيل البوت معطّلًا إلى أن يُعيَّن السر). في بطاقة بيانات الاعتماد، يعرض سر العميل (Client secret) الكلمة مطلوب. اضغط تعيين، والصق سر العميل، ثم اضغط حفظ.
- اترك Database connection string فارغة الآن: عندها يحفظ البوت التذاكر في ملف على السيرفر. أما ENCRYPTION_KEY المعلَّم بـ أنشأته PlayNHost فيُنشأ لك ويحمي محتوى التذاكر المخزَّن. لا تحذفه أبدًا.

3. تحقق من الـ intents وادعُ البوت
- بطاقة الإعداد، الخطوة الأذونات: يعلّم جدول الأذونات المميزة (Privileged intents) كلًّا من Server Members وMessage Content وPresence بعبارة يحتاجه Discord Tickets. يجب أن يعرض كل منها مفعّل تحت في بوابتك. بعد أن تغيّرها في Portal، اضغط فحص مرة أخرى.
- تحت رابط الدعوة، اضغط إضافة إلى خادم Discord واختر سيرفرك. يطلب الرابط مسبقًا ما يحتاجه بوت التذاكر لإنشاء قنوات التذاكر وتحديد من يراها: إدارة القنوات وإدارة الأدوار وإدارة الرسائل، إضافة إلى عرض القنوات وإرسال الرسائل وتضمين الروابط وبضعة أذونات أخرى.

دعوت البوت سابقًا بأذونات أقل؟ اضغط إضافة إلى خادم Discord مرة أخرى واختر السيرفر نفسه: يحدّث Discord أذونات البوت.
4. شغّله وأضف رابط إعادة التوجيه
- افتح Console واضغط تشغيل. ترى بين الأسطر الأولى ما يلي، مع عنوانك أنت (تطبع خطوة قاعدة البيانات بضعة أسطر خاصة بها بعد
Preparing the database):
[PlayNHost] Using a SQLite file (user/database.db). To use your plan's MySQL database instead, create one in Databases and paste its Generic URL (Ready-made config) into Database connection string on the Bot page, Environment. Tickets are not copied between the two.
[PlayNHost] Preparing the database
[PlayNHost] Dashboard: http://203.0.113.10:30500/settings
[PlayNHost] In your Discord application, OAuth2 page, add this redirect: http://203.0.113.10:30500/auth/callback
[PlayNHost] Starting your bot- انسخ عنوان إعادة التوجيه من Console. في Developer Portal، افتح OAuth2، واضغط Add Redirect تحت Redirects، والصقه، ثم اضغط Save Changes. بدونه يفشل تسجيل الدخول إلى لوحة التحكم.
- سطر يقول
Warning: The current working directory is not the same as the base directory.متوقع على سيرفراتنا ولا ضرر منه.
5. أعدّه في لوحة التحكم
- افتح عنوان Dashboard من Console في متصفحك وسجّل الدخول عبر Discord.
- اختر سيرفر Discord الخاص بك، ثم أنشئ فئة تذاكر واحدة على الأقل: اسمها، وأي أدوار من الفريق ترى تذاكرها، والأسئلة التي يجيب عنها الأعضاء.
- يفتح الأعضاء تذكرة بـ
/new، أو بزر على رسالة لوحة تنشئها في لوحة التحكم. ويستخدم الفريق/claimو/closeو/addو/removeو/transcript.
لوحة التحكم هذه http عادي على عنوان سيرفرك ومنفذه، لذلك يعلّمها متصفحك بأنها غير آمنة. ولإعطائها نطاقًا بـ https تحتاج إلى وكيل (proxy) خاص بك أمامها: راجع عنوان لوحة التحكم أدناه.
الإعدادات
في صفحة البوت، الكود، تحتوي بطاقة الإعدادات على ما يلي. اضغط حفظ بعد كل تغيير، ثم أعد تشغيل البوت.
| الإعداد | الافتراضي | ما يفعله |
|---|---|---|
| مالكو البوت (اختياري) | فارغ | معرّفات مستخدمي Discord، مفصولة بفواصل، ممن يستطيعون إدارة البوت في كل سيرفر هو فيه. ضع معرّفك أنت هنا. |
| عنوان لوحة التحكم (اختياري) | فارغ | فقط إذا وضعت وكيل https أو نطاقًا خاصًا بك أمام لوحة التحكم، مثل https://tickets.example.com. الفارغ يستخدم http:// مع عنوان سيرفرك ومنفذه. غيّر رابط إعادة التوجيه في Portal ليطابقه. |
| الوثوق برؤوس الوكيل | false | true فقط عندما تكون لوحة التحكم خلف reverse proxy خاص بك. |
| نشر الأوامر عند التشغيل | true | يسجّل أوامر الشرطة المائلة الخاصة بالبوت لدى Discord عند كل تشغيل له. |
| الإصدار | latest | يُقرأ أثناء تثبيت السيرفر فقط، فيسري بعد إعادة التثبيت. راجع التحديث أدناه. |
استخدم قاعدة MySQL الخاصة بباقتك بدلًا من ذلك
- افتح قواعد البيانات في قائمة السيرفر، واضغط قاعدة بيانات جديدة، ثم إنشاء قاعدة البيانات.
- اضغط قاعدة البيانات الجديدة في قواعد بياناتك. في بطاقتها إعداد جاهز، اختر Generic URL تحت إعداد لـ واضغط نسخ. يبدأ بـ
mysql://؛ الصقه كما هو. - في صفحة البوت، البيئة، بيانات الاعتماد، اضغط تعيين بجانب Database connection string، والصقها، ثم اضغط حفظ.
- أعد تشغيل البوت. تقول Console الآن
[PlayNHost] Using your MySQL database.
إن قالت Console بعد ذلك [PlayNHost] The database could not be prepared، فقد يكون على السيرفر سكربت تشغيل من تثبيت أقدم، يقرأ الرابط المنسوخ قراءة خاطئة حين تحتوي كلمة المرور على رموز خاصة. اضغط إعادة التثبيت في بطاقة إعادة التثبيت تحت البوت، الكود مرة واحدة (تبقى إعداداتك وتذاكرك ومفتاح التشفير)، ثم شغّل البوت من جديد.
لا تُنسخ التذاكر بين الملف وMySQL، فاختر قبل أن يبدأ أعضاؤك باستخدامه. المزيد عن قواعد البيانات: كيف تستخدم قواعد البيانات مع سيرفرك.
أسطر Console التي قد تراها
[PlayNHost] Discord Tickets is not set up yet: it needs your bot token and your application's client secret.الرمز أو سر العميل ناقص. الصق الرمز تحت البوت، Discord، والسر تحت البوت، البيئة، بيانات الاعتماد، ثم اضغط تشغيل.
[PlayNHost] Discord Tickets is not installed. Reinstall it on the Bot page, Code, then press Start.ملفات البوت ناقصة. في صفحة البوت، الكود، اضغط إعادة التثبيت في بطاقة إعادة التثبيت وأكّد. وعندما ينتهي التثبيت، اضغط تشغيل.
[PlayNHost] The database connection string is not valid. Open Databases, open your database, copy Ready-made config, Generic URL into Database connection string on the Bot page, Environment, then press Start.انسخ Generic URL مرة أخرى من بطاقة إعداد جاهز في قاعدة البيانات، ثم اضغط استبدال بجانب Database connection string تحت بيانات الاعتماد.
[PlayNHost] The encryption key is not ready yet. Press Start again in a minute; if this repeats, contact support.انتظر دقيقة ثم اضغط تشغيل مرة أخرى. وإن تكرر ذلك، فافتح تذكرة.
من المفيد أن تعرف
- لا يستطيع Discord Tickets إرسال البريد الإلكتروني.
- تعيش تذاكرك وقوالبك وسجلاتك في المجلدين
userوlogsتحت Files. خذ منها نسخة احتياطية قبل التغييرات الكبيرة: كيف تنشئ النسخ الاحتياطية وتنزّلها وتستعيدها. - التحديث: ينزّل التثبيت أحدث إصدار من GitHub الخاص بالمشروع، أو الإصدار المكتوب في حقل الإصدار مثل
v4.0.52. للتحديث، اضبط الإصدار إن أردت إصدارًا محددًا، ثم في صفحة البوت، الكود، اضغط إعادة التثبيت في بطاقة إعادة التثبيت وأكّد. تبقى إعداداتك وتذاكرك ومفتاح التشفير. شغّل البوت مرة أخرى عند الانتهاء. - تريد بناء بوتك بنفسك بدلًا من ذلك؟ كيف تصنع بوت تذاكر لـ Discord (discord.js).
كل خيار في كل بوت جاهز: كيف تغيّر إعدادات بوت جاهز.



