إنشاء بوت
الخطوة 1. إنشاء تطبيق (اتبع الرابط).
الخطوة 2. إضافة بوت (انقر على زر "إضافة بوت").

الخطوة 2.1. في قسم التثبيت، اختر رابط التثبيت → لا شيء.

الخطوة 2.2. في قسم البوت، قم بتعطيل البوت العام، ثم قم بتمكين النوايا التالية:
- نية محتوى الرسالة
- نية أعضاء الخادم
يمكنك أيضًا تمكين نية الحضور للاستخدام المستقبلي.


الخطوة 3. الحصول على الرمز المميز (إعادة تعيين الرمز المميز).
الخطوة 4. إضافة البوت إلى الخادم:
- انتقل إلى OAuth2 → مولد URL.
- في النطاقات، اختر bot.
- في أذونات البوت، اختر إرسال الرسائل، قراءة سجل الرسائل، وأي أذونات أخرى مطلوبة.
ثم افتح الرابط الذي تم إنشاؤه، واختر الخادم الذي تريد إضافة البوت إليه، وقم بتأكيد التفويض.


للحصول على webhook الكامل من Discord، ما عليك سوى تعيين أي قيمة للمتغير save_webhook.
إذا تم تعيين المتغير، فسيتم حفظ webhook في discord_webhook.
توصيل بوت Discord في MaviBot
الآن انتقل إلى قسم "المراسلات" في مشروعك في MaviBot:

ثم الصق الرمز المميز المنسوخ من Discord.

انقر على زر تم.
وظائف الآلة الحاسبة
الرد على رسالة
discord_reply_to_message(message_id, text) - تُستخدم هذه الوظيفة للرد على رسالة.
| المعاملات | الوصف |
|---|---|
| ! message_id | معرف الرسالة التي تريد الرد عليها. |
| ! text | نص رسالة الرد. |
حذف رسالة
discord_delete_message(message_id) - تُستخدم هذه الوظيفة لحذف رسالة.
| المعاملات | الوصف |
|---|---|
| ! message_id | معرف الرسالة المراد حذفها. |
تعديل رسالة
discord_edit_message(message_id, text) - تُستخدم هذه الوظيفة لتعديل رسالة.
| المعاملات | الوصف |
|---|---|
| ! message_id | معرف الرسالة المراد تعديلها. |
| ! text | النص الجديد للرسالة. |
تثبيت رسالة
discord_pin_message(message_id) - تُستخدم هذه الوظيفة لتثبيت رسالة.
| المعاملات | الوصف |
|---|---|
| ! message_id | معرف الرسالة المراد تثبيتها. |
إلغاء تثبيت رسالة
discord_unpin_message(message_id) - تُستخدم هذه الوظيفة لإلغاء تثبيت رسالة.
| المعاملات | الوصف |
|---|---|
| ! message_id | معرف الرسالة المراد إلغاء تثبيتها. |
إرسال رد فعل على رسالة
discord_send_reaction(message_id, reaction) - تُستخدم هذه الوظيفة لإرسال رد فعل على رسالة.
| المعاملات | الوصف |
|---|---|
| ! message_id | معرف الرسالة التي تريد إرسال رد فعل عليها. |
| ! reaction | رد الفعل المراد إرساله. يمكنك تقديم رمز تعبيري واحد (مثل ❤️) أو معرف رمز تعبيري مخصص على الخادم. يتم توفير معلومات حول كيفية الحصول على معرف الرمز التعبيري المخصص أدناه. |
إزالة رد فعل من رسالة في قناة
discord_delete_reaction(message_id, reaction, user_id) - تُستخدم هذه الوظيفة لإزالة رد فعل من رسالة في قناة.
| المعاملات | الوصف |
|---|---|
| ! message_id | معرف الرسالة التي تريد إزالة رد الفعل منها. |
| ! reaction | رد الفعل المراد إزالته. يمكنك تقديم رمز تعبيري واحد (مثل ❤️) أو معرف رمز تعبيري مخصص على الخادم. يتم توفير معلومات حول كيفية الحصول على معرف الرمز التعبيري المخصص أدناه. |
| user_id | معرف المستخدم الذي تريد إزالة رد فعله. هذه المعلمة اختيارية إذا كنت تريد إزالة رد الفعل من البوت الحالي. |
وظائف Discord
تتيح لك الوظائف التالية إدارة خوادم Discord والأعضاء والقنوات والأدوار والرسائل والدعوات.
إدارة الأعضاء
حظر عضو
discord_ban_member(user_id, delete_message_seconds) - تُستخدم هذه الوظيفة لحظر عضو من خادم Discord.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord للعضو المراد حظره. |
| delete_message_seconds | (اختياري) يحذف الرسائل السابقة للعضو من عدد الثواني المحدد قبل الحظر. اضبط 0 للاحتفاظ بجميع الرسائل. |
إلغاء حظر عضو
discord_unban_member(user_id) - تُستخدم هذه الوظيفة لإزالة الحظر عن عضو.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord للعضو المراد إلغاء حظره. |
طرد عضو
discord_kick_member(user_id) - تُستخدم هذه الوظيفة لإزالة عضو من الخادم دون حظره.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord للعضو المراد إزالته. |
يمكن للعضو المطرود الانضمام إلى الخادم مرة أخرى باستخدام رابط دعوة صالح.
وضع عضو في مهلة
discord_timeout_member(user_id, seconds) - تُستخدم هذه الوظيفة لوضع عضو في مهلة (كتم).
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord للعضو. |
| ! seconds | مدة المهلة بالـثواني. |
إزالة المهلة
discord_remove_timeout(user_id) - تُستخدم هذه الوظيفة لإزالة مهلة العضو قبل انتهائها.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord للعضو. |
حذف رسائل متعددة
discord_bulk_delete_messages(channel_id, message_ids) - تُستخدم هذه الوظيفة لحذف رسائل متعددة من قناة.
| المعاملات | الوصف |
|---|---|
| ! channel_id | معرف قناة Discord. |
| ! message_ids | قائمة بـمعرفات الرسائل المراد حذفها. |
الرسائل
إرسال رسالة
discord_send_message(channel_id, text) - تُستخدم هذه الوظيفة لإرسال رسالة إلى قناة Discord.
| المعاملات | الوصف |
|---|---|
| ! channel_id | معرف قناة Discord. |
| ! text | نص الرسالة. |
الحصول على رسالة
discord_get_message(channel_id, message_id) - تُستخدم هذه الوظيفة لاسترداد معلومات حول رسالة.
| المعاملات | الوصف |
|---|---|
| ! channel_id | معرف قناة Discord. |
| ! message_id | معرف الرسالة. |
ترجع الوظيفة:
- محتوى الرسالة
- معلومات المؤلف
- المرفقات
إرسال رسالة مباشرة
discord_send_dm(user_id, text) - تُستخدم هذه الوظيفة لإرسال رسالة مباشرة إلى عضو في الخادم.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord. |
| ! text | نص الرسالة. |
الأدوار
إضافة دور
discord_add_role(user_id, role_id) - تُستخدم هذه الوظيفة لتعيين دور لعضو.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord. |
| ! role_id | معرف دور Discord. |
إزالة دور
discord_remove_role(user_id, role_id) - تُستخدم هذه الوظيفة لإزالة دور من عضو.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord. |
| ! role_id | معرف دور Discord. |
تغيير الاسم المستعار للعضو
discord_set_nickname(user_id, nickname) - تُستخدم هذه الوظيفة لتغيير الاسم المستعار للعضو على الخادم.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord. |
| ! nickname | الاسم المستعار الجديد. |
الحصول على أدوار الخادم
discord_get_roles() - تُستخدم هذه الوظيفة لاسترداد قائمة أدوار الخادم.
ترجع الوظيفة:
- معرف الدور
- اسم الدور
الأعضاء
الحصول على معلومات العضو
discord_get_member(user_id) - تُستخدم هذه الوظيفة لاسترداد معلومات حول عضو في الخادم.
| المعاملات | الوصف |
|---|---|
| ! user_id | معرف مستخدم Discord. |
ترجع الوظيفة:
- أدوار العضو
- الاسم المستعار على الخادم
- تاريخ الانضمام
- الأذونات
القنوات
إنشاء قناة
discord_create_channel(name, type, parent_id, permission_overwrites) - تُستخدم هذه الوظيفة لإنشاء قناة Discord جديدة.
| المعاملات | الوصف |
|---|---|
| ! name | اسم القناة. |
| ! type | نوع القناة (على سبيل المثال، نصية أو صوتية). |
| parent_id | معرف الفئة حيث سيتم إنشاء القناة. |
| permission_overwrites | إعدادات أذونات القناة التي تحدد أي المستخدمين أو الأدوار يمكنهم الوصول إلى القناة. |
حذف قناة
discord_delete_channel(channel_id) - تُستخدم هذه الوظيفة لحذف قناة Discord.
| المعاملات | الوصف |
|---|---|
| ! channel_id | معرف قناة Discord. |
تعيين أذونات القناة
discord_set_channel_permission(channel_id, target_id, allow, deny) - تُستخدم هذه الوظيفة لتكوين أذونات القناة لمستخدم أو دور.
| المعاملات | الوصف |
|---|---|
| ! channel_id | معرف قناة Discord. |
| ! target_id | معرف المستخدم أو معرف الدور الذي سيتم تغيير أذوناته. |
| ! allow | الأذونات الممنوحة. |
| ! deny | الأذونات المرفوضة. |
الدعوات
إنشاء دعوة
discord_create_invite(channel_id, max_age, max_uses) - تُستخدم هذه الدالة لإنشاء رابط دعوة.
| المعاملات | الوصف |
|---|---|
| ! channel_id | معرّف قناة Discord. |
| max_age | عمر الدعوة بالـثواني. استخدم 0 لعدم انتهاء الصلاحية. |
| max_uses | الحد الأقصى لعدد الاستخدامات. استخدم 0 لاستخدامات غير محدودة. |
الحصول على دعوات الخادم
discord_get_invites() - تُستخدم هذه الدالة لاسترداد جميع روابط دعوة الخادم.
تُرجع الدالة:
- رابط الدعوة
- عدد الاستخدامات
- العمر المتبقي (إن وجد)
أحداث Webhook
يمكن إعادة توجيه أحداث Discord التالية إلى تدفق الدردشة:
- انضم عضو إلى الخادم
- غادر عضو الخادم
- تم طرد عضو
- تم حظر عضو
- تم إلغاء حظر عضو
- تغيرت أدوار العضو
- تم تعديل رسالة
- تم حذف رسالة
- تمت إضافة تفاعل
- تمت إزالة تفاعل
- تم تنفيذ أمر شرطة مائلة
- تم النقر على زر
حمولة Webhook
بيانات Webhook متاحة في:
discord_webhook["data"]
| الحقل | الوصف |
|---|---|
| author_id | معرّف مستخدم Discord لكاتب الرسالة. |
| username | اسم مستخدم Discord. |
| nickname | الاسم المستعار في الخادم. |
| channel_id | معرّف قناة Discord. |
| guild_id | معرّف خادم Discord. |
| message_id | معرّف رسالة Discord. |
| content | نص الرسالة. |
| roles | قائمة بمعرّفات أدوار العضو. |
| is_admin | يشير إلى ما إذا كان العضو لديه صلاحيات المسؤول. |
الاستدعاءات
عندما يرسل مستخدم تفاعلاً، يتم استلام استدعاء في الدردشة بالتنسيق التالي:
new_like ❤️ uid413984787162726410

حيث uid413984787162726410 هو معرّف المستخدم الذي أرسل التفاعل.
كيفية الحصول على معرّف الرمز التعبيري المخصص
إذا أرسلت تفاعلاً مخصصًا إلى رسالة في قناة Discord، فسيتم استلام استدعاء بالتنسيق التالي:
new_like beer:1479419477396291696 uid413984787162726410

حيث beer:1479419477396291696 هو معرّف التفاعل. يمكنك نسخه لاستخدامه في الدوال المتعلقة بالتفاعلات.
كيفية الحصول على معرّف الرسالة
يمكنك الحصول على معرّف رسالة العميل من webhook إذا كان save_webhook مفعّلاً. مثال:
data = discord_webhook["data"]
msg_id = data["id"]
result = discord_reply_to_message(msg_id, "هذا رد على رسالة")
استدعاءات إضافية
بالإضافة إلى new_like، تتوفر الاستدعاءات التالية:
| الاستدعاء | الوصف |
|---|---|
new_like {emoji} uid{user_id} |
أضاف مستخدم تفاعلاً إلى رسالة. |
reaction_remove {emoji} uid{user_id} |
أزال مستخدم تفاعلاً من رسالة. |
message_delete mid{message_id} |
تم حذف رسالة. |
message_edit mid{message_id} |
تم تعديل رسالة. نص الرسالة المحدّث متاح في بيانات webhook. |
member_join uid{user_id} |
انضم عضو إلى الخادم. |
member_leave uid{user_id} |
غادر عضو الخادم. |
member_update uid{user_id} |
تم تحديث معلومات العضو (مثل الأدوار أو الاسم المستعار). |
member_ban uid{user_id} |
تم حظر عضو من الخادم. |
member_unban uid{user_id} |
تم إلغاء حظر عضو من الخادم. |
متغيرات الاستدعاء
للاتساق مع تنسيق أحداث Discord الحالي، تستخدم معرّفات المستخدم والرسالة بادئات تاريخية:
- يتم إرجاع معرّفات المستخدمين كـ
uid{user_id}. - يتم إرجاع معرّفات الرسائل كـ
mid{message_id}.
تستخدم المتغيرات التالية أيضًا هذه المعرّفات المسبوقة:
message_frominternal_iddiscord_webhook["data"]