
(سابقا "Twitch_monitor_discord_bot")
Nedry هو روبوت خلاف مستضيف ذاتيا مع نظام إضافي وحدات. يتوفر الكثير من السلوك المفيد خارج الصندوق ، ولكن يمكنك أيضًا تثبيت الإضافات لتوسيع سلوك Nedry ، أو حتى كتابة المكونات الإضافية الخاصة بك.
تشمل بعض الميزات خارج الصندوق:
يتم تنفيذ جميع الميزات المذكورة أعلاه كملابس إضافية في دليل nedry/builtin_plugins ، والذي يعد بمثابة مرجع مفيد لكتاب البرنامج المساعد.
للبدء على الفور ، راجع قسم البدء السريع.
جدول المحتويات
help القيادةinfo القيادةquote القيادةtimezonestreamers الأوامرaddstreamersremovestreamersclearallstreamersphrases الأوامرtestphrasesaddphraseremovephrases أمرnocompetitioncmdhistorysay الأمرpluginsplugsonplugsoffpluginfotwitchclientidannouncechanneljoke القيادةwikimockapologizeapologiseschedule القيادةunscheduleremindmeunremindtrivia القيادةtriviascoresstory القيادةsocialcredit تم تغيير اسم المشروع ، ولكن جميع الميزات التي كانت موجودة في "Twitch_Monitor_Discord_Bot" لا تزال موجودة في "Nedry". ستكون الخطوات التالية ضرورية للتبديل إلى "nedry":
هذا كل شيء!
تثبيت Python (فقط Python 3.9x أو أكبر مدعوم) باستخدام pip :
Python -M Pip تثبيت Nedry
قم بتشغيل الحزمة كوحدة مع عدم وجود وسيطات ، والتي ستنشئ ملف تكوين فارغ يسمى default_bot_config.json في الدليل الحالي الخاص بك ويخرج على الفور.
$ python -M nedry تم إنشاء ملف التكوين الافتراضي "default_bot_config.json" ، يرجى إضافة المعلمات المطلوبة
يمكن تكوين معظم سلوكيات هذا الروبوت عبر رسائل Discord أثناء تشغيل الروبوت ، ولكن هناك بعض المعلمات التي يجب تعيينها في ملف التكوين أولاً ، للحصول على يتحدث إلى خادم Discord الخاص بك. ملء هذه المعلمات المطلوبة في ملف .json:
discord_bot_api_token : يجب إدخال رمز Discord BOT API هنا كسلسلة. قم بإنشاء تطبيق روبوت جديد ، وقم بإنشاء/نسخ رمز على صفحة "الروبوت" (ملاحظة: تأكد من تمكين جميع مواعيد البوابة المميزة لتطبيق الروبوت الخاص بك).discord_server_id : يجب إدخال معرف خادم Discord (الخادم الذي تريد الاتصال به) هنا كصداق. كيفية العثور على معرفات Discord/خادم/رسالةdiscord_admin_users : يمكن إدخال قائمة بمعرفات مستخدم Discord كما يمكن إدخال أعداد صحيحة هنا. يمكن لمستخدمي المسؤولين الوصول إلى المجموعة الكاملة من أوامر Discord التي يمكن أن يقبلها الروبوت. على الأقل ، ربما ترغب في إضافة معرف مستخدم Discord الخاص بك هنا بحيث يكون لديك التحكم الكامل في الروبوت. كيفية العثور على معرفات Discord/خادم/رسالةبمجرد تعيين جميع المعلمات المطلوبة في ملف .json ، قم بتشغيل الحزمة كوحدة نمطية مرة أخرى ، ولكن هذه المرة تمرر ملف التكوين الخاص بك كوسيطة:
$ python -M nedry default_bot_config.json
إذا تم تكوينه بشكل صحيح ، فيجب على الروبوت الآن الاتصال بخادم Discord الخاص بك. لقد انتهيت من تحرير ملف التكوين!
عندما يكون روبوتك متصلاً بالإنترنت في خادم Discord ، يمكنك إصدار أوامر إلى الروبوت من خلال وضع ذكر لاسم Discord في بداية الرسالة ، إما في DM أو في أي قناة يمكن للبوت الوصول إليها ، على سبيل المثال @BotName !command الأمر الوحيد الذي تحتاج إلى معرفته حقًا هو أمر help ؛ إذا قلت @BotName !help ، فسيظهر لك الروبوت ما هي الأوامر المتاحة ويظهر لك كيفية الحصول على مساعدة أكثر تحديدًا في الأوامر الفردية.
بصرف النظر عن الأشياء الثلاثة الأولى التي تقوم بتعيينها في ملف تكوين BOT في القسم السابق ، يمكن تكوين كل شيء آخر عن سلوك الروبوت عن طريق إرسال الرسائل/الأوامر إلى BOT على Discord. شيء واحد قد ترغب في تكوينه بهذه الطريقة ، هو كيفية مراقبة اللافتات الوخز لإعلانات الدفق.
الخطوات التالية مطلوبة لتمكين إعلانات دفق نشل:
تحديد أي اللافتات التي تراقبها
أرسل الأمر "addstreamers" ، مع وسيط أو أكثر ، يجب أن يكون كل منها اسم قناة نشل موجودة. على سبيل المثال "botname! addstreamers channel1 channel2":

يتم حفظ التغييرات في قائمة اللافتات في ملف التكوين.
للحصول على معلومات حول كيفية عرض قائمة اللافتات التي يتم مراقبتها ، وكيفية إزالة اللافتة من القائمة ، استخدم أوامر "Botname! Help Streamers" و "botName! Help RemoveReamers".
تعيين قناة Discord لإعلانات الدفق
أرسل الأمر "ExpliceChannel" مع وسيطة واحدة ، والتي يجب أن تكون اسم قناة Discord التي ترغب في إرسال إعلانات البث إليها. على سبيل المثال "botname! اسم قناة الإعلان عن قناة":

يتم حفظ اسم قناة إعلان الدفق في ملف التكوين.
تعيين عبارات مخصصة لإعلانات الدفق
هذا اختياري ، ولكن لا يوجد سوى عبارة عن عبارة واحدة عن إعلان الدفق الافتراضي ، لذلك قد ترغب في إضافة بعض خاص بك. في كل مرة يذهب فيها اللافتة على الهواء مباشرة ، يتم اختيار إحدى عبارات إعلان الدفق بشكل عشوائي للإعلان. قد تحتوي العبارات على رموز تنسيق (راجع أمر "botname! addphrase" لمزيد من المعلومات حول الرموز المميزة). على سبيل المثال "botname! addPhrase بعض العبارات المخصصة":

للرجوع إليها ، تنتج العبارة من الصورة السابقة إعلان الدفق التالي عندما يبدأ البولي باسم "Ohmlab" في البث يوم الأربعاء:

يتم حفظ جميع عبارات إعلان الدفق في ملف التكوين.
تعيين معرف العميل Twitch وسر العميل
في DM مع الروبوت في Discord ، أو في أي قناة عامة ، أرسل الأمر "TwitchClientId" مع وسيطتين ، على سبيل المثال "botname! twitchclientid xxxx yyyy".
استبدل "XXXX" بمعرف عميل Twitch الخاص بك ، واستبدل "Yyyy" بعميل Twitch الخاص بك. يجب أن يكون لديك حساب نشل ، وتسجيل تطبيق ، للحصول على معرف العميل وسرية العميل لتطبيقك. التعليمات هنا.

يمكنك تغيير معرف العميل وسرية العميل في أي وقت ، باستخدام نفس الأمر. يتم حفظ معرف العميل وسرية العميل التي تقدمها مع هذا الأمر في ملف التكوين ، لذلك ليست هناك حاجة لإعادة تقديم هذا في كل مرة تبدأ فيها الروبوت.
استخدم ملف Nedry.Service المتاح على Github لإنشاء خدمة SystemCTL بسرعة لتشغيل Nedry.
ملاحظة: تقوم هذه الخدمة بتحميل ملف التكوين على /home/ubuntu/nedry_config.json ، قد تحتاج إلى تحرير سطر "execstart" وتغيير هذا المسار إلى موقع ملف التكوين الخاص بك.
ملاحظة: تقوم هذه الخدمة بتحميل بيئة المستخدم المسمى "Ubuntu" ، فقد تحتاج إلى تحرير خط "المستخدم" وتغيير اسم المستخدم إلى اسم المستخدم الخاص بك.
من أجل استخدام المكونات الإضافية ، يجب عليك إضافة مسار دليل واحد على الأقل إلى قائمة plugin_directories في ملف التكوين. يتم تثبيت المكونات الإضافية عن طريق وضع ملف (ملفات) Python مباشرة في المستوى العلوي من أي دليل مدرج في plugin_directories (ليس في الدليل الفرعي!). في حالة وجود أي مكونات إضافية صالحة في أي الدلائل المدرجة في plugin_directories عند بدء تشغيل الروبوت ، سيتم تحميلها ومتاحة للاستخدام.
يتم تمكين جميع المكونات الإضافية المحملة بشكل افتراضي. لمشاهدة قائمة بجميع المكونات الإضافية ، ممكّنة وتعطيل ، استخدم الأمر !plugins . لتعطيل/تمكين المكون الإضافي ، استخدم أوامر !plugson و !plugsoff . على سبيل المثال ، لتعطيل البرنامج المساعد المدمج knock_knock_jokes ، استخدم @BotName !plugsoff knock_knock_jokes .
للبدء في كتابة المكونات الإضافية ، راجع هذا المكون الإضافي الوظيفي هذا وملف قالب البرنامج المساعد (نسخ ، لصق وتعديل لإنشاء البرنامج المساعد الخاص بك).
أيضًا ، انظر هذا البرنامج المساعد المدمج الأكثر تعقيدًا
فيما يلي بعض لقطات الشاشة لتفاعلات الأوامر / الاستجابة المتنوعة مع الروبوت في Discord. لا يُقصد من هذا القسم بمثابة مرجع شامل لجميع الأوامر المتاحة (انظر قسم "مرجع أمر BOT" في النهاية لذلك) ، بل هو توضيح سريع لما يبدو أن تتفاعل مع الروبوت في Discord.







يغطي هذا القسم جميع معلمات ملف التكوين ، بما في ذلك تلك غير المشمولة في قسم البدء السريع. يجب أن يكون ملف التكوين ملف .json للنموذج التالي:
{
"twitch_client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxx" ،
"Twitch_client_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxx
"discord_bot_api_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
"discord_server_id": 123456789123456789 ،
"Discord_Channel_Name": "قناة My-Discord" ،
"poll_period_seconds": 60 ،
"Host_streamer": "My-Twitch-Streamer-Name" ،
"silent_when_host_streaming": صحيح ،
"Plugin_data": {} ،
"البرنامج المساعد_
"discord_admin_users": [422222187366187010 ، 487222187346187011] ،
"discord_joke_tellers": [422222187366187010 ، 487222187346187011]
"النكات": [] ،
"المناطق الزمنية": {} ،
"command_log_file": "/home/user/twitch_monitor_bot_command_log.txt" ،
"startup_message": "مرحبًا! أنا روبوت يمكنه مراقبة تدفقات نشل لك." ،
"streamers_to_monitor": [
"Mrsketi" ،
"none_of_many"
]
"Stream_Start_Messages": [
"{streamer_name} يتم بثه الآن! شاهدته هنا: {Stream_url}" ،
"{streamer_name} يفعل شيئًا ، اذهب لرؤيته هنا: {Stream_url}"
]
}
twitch_client_id : أدخل معرف عميل Twitch الخاص بك هنا.discord_bot_api_token : أدخل رمز API لتطبيق Discord Bot هنا.discord_server_id : أدخل معرف الخادم للخادم الذي تريد أن يتصل به الروبوت هنا.discord_channel_name : أدخل اسم القناة التي تريد أن يتصل به الروبوت هنا.poll_period_seconds : أدخل التأخير المطلوب (بالثواني) بين التحقق مما إذا كانت جميع اللافتات تعيش هنا.host_streamer : أدخل اسم قناة Twitch الخاصة بك هنا (اختياري).silent_when_host_streaming : إذا كان ذلك صحيحًا ، فلن يتم إصدار أي إعلانات حول التدفقات الأخرى عند حية التيار المضيف.plugin_directories : قائمة أسماء الدليل للبحث عن المكونات الإضافية التي يتم تحميلها عند بدء التشغيلplugin_data : يحتفظ ببيانات مستمرة للمكونات الإضافية ، DICT مفتاح باسم المكون الإضافيdiscord_admin_users : يمكن إضافة أرقام معرف مستخدم متعددة هنا. سيتم السماح للمستخدمين المضافة هنا بتكوين الروبوت عن طريق إرسال الأوامر في Discord.discord_joke_tellers : يمكن إضافة أرقام معرف مستخدم متعددة هنا. سيتم "تذكر" أي نكات قاضية روى لـ BOT من قبل مستخدمي Discord في هذه القائمة ، (يتم تخزينها "(مخزنة في قائمة" النكات ") ، ويمكن إخبارها بمستخدمي Discord في وقت لاحق عند طلب مزحة.jokes : سيتم تخزين أي نكات يتذكرها الروبوت من مستخدمي Discord هنا.timezones : DICT التي تخطط لأرقام معرف مستخدم Discord إلى اسم Iana في المنطقة الزمنية التي هم فيها. عندما تخبر الروبوت بزمنك مع أمر "Timezone" ، هذا هو المكان الذي يتم تخزينه.command_log_file : أدخل اسم الملف المطلوب لتسجيل الأوامر المستلمة من رسائل Discord. ضبط على "NULL" إذا كنت لا تريد تسجيل الأوامر.startup_message : أدخل الرسالة التي ترغب في إرسالها عندما يأتي عبر الإنترنت بعد البدء هنا. قد تحتوي الرسالة على الرموز المميزة للتنسيق التالي:{botname} : تم استبداله باسم الروبوت الذي يراه مستخدمو Discord الآخرين{date} : سيتم استبداله بالتاريخ الحالي بتنسيق DD/MM/YYY{times} : سيتم استبداله بالوقت الحالي في HH: MM: SS Format{time} : سيتم استبداله بالوقت الحالي بتنسيق MM{day} : سيتم استبداله باسم يوم الأسبوع الحالي (على سبيل المثال "Monday"){month} : سيتم استبداله باسم الشهر الحالي (على سبيل المثال "يناير"){year} : سيتم استبداله بالعام الحالي (على سبيل المثال "2022")streamers_to_monitor : أدخل قائمة أسماء اللافتات التي يجب مراقبتها هنا.stream_start_messages : يمكن تعريف رسائل متعددة هنا لاستخدامها كإعلانات للبث المباشر. قد تحتوي الرسائل على رموز التنسيق التالية:{streamer_name} : سيتم استبداله باسم اللافتة{stream_url} : سيتم استبداله بعنوان URL للتيار على Twitch.com{botname} : تم استبداله باسم الروبوت الذي يراه مستخدمو Discord الآخرين{date} : سيتم استبداله بالتاريخ الحالي بتنسيق DD/MM/YYY{times} : سيتم استبداله بالوقت الحالي في HH: MM: SS Format{time} : سيتم استبداله بالوقت الحالي بتنسيق MM{day} : سيتم استبداله باسم يوم الأسبوع الحالي (على سبيل المثال "Monday"){month} : سيتم استبداله باسم الشهر الحالي (على سبيل المثال "يناير"){year} : سيتم استبداله بالعام الحالي (على سبيل المثال "2022") إذا كنت تكتب مكونًا إضافيًا ، فربما تحتاج إلى الاشتراك في بعض الأحداث (كما هو موضح في هذا المثال المكون الإضافي). يعدد هذا القسم أنواع الأحداث المتاحة في nedry.event_types.events ، إلى جانب حججها المتوقعة ووصفًا موجزًا:
| حدث | حجج الحدث | وصف الحدث |
|---|---|---|
| discord_message_received | (رسالة) "الرسالة" هي كائن رسالة discord.py (انظر discord.py docs) | تنبعث كلما تم استلام أي رسالة خلاف ، إما في قناة عامة يمكن للبوت الوصول إليها ، أو في DM مع الروبوت. |
| discord_bot_mention | (رسالة ، text_without_mention) "الرسالة" هي كائن رسالة discord.py (انظر discord.py مستندات). "text_without_mention" هو نص الرسالة مع تجريده من الروبوت. | تنبعث كلما تم استلام أي رسالة خلاف تبدأ بذكر اسم Discord Bots ، إما في قناة عامة يمكنها الوصول إليها ، أو في DM مع الروبوت. يتم تضمين الإشارات فقط التي لا تتبعها أمر هنا ، وهناك حدث منفصل للأوامر ، bot_command_received |
| new_discord_member | (عضو) "العضو" هو كائن مستخدم Discord.py للعضو الذي انضم (انظر Discord.py Docs). | ينبعث كلما انضم مستخدم جديد إلى خادم Discord. |
| discord_connected | لا حجج | تم تنظيمه كلما تم توصيل الروبوت بخادم Discord الذي تم تكوينه (يمكن أن يستغرق ذلك ما يصل إلى بضع ثوانٍ بعد بدء التشغيل) |
| bot_command_received | (رسالة ، text_without_mention) "Message" هو Discord.py Message Object (انظر Discord.py Docs) "text_without_mention" هو نص الرسالة مع تم تجريد الروبوت. | يتم الانبعاث كلما تم استلام رسالة تبدأ بروتين يتبعها حرف بادئة الأوامر ("!") ، إما في قناة عامة يمكن للوباء الوصول إليها ، أو في DM مع الروبوت. ينبعث الحدث قبل معالجة الأمر. |
| bot_sending_message | (القناة ، message_text) "القناة" هو كائن قناة Discord.py للقناة يتم إرسال الرسالة على (انظر Discord.py Docs). "message_text" هي الرسالة التي سيتم إرسالها إلى القناة. | ينبعث كلما كان الروبوت على وشك إرسال رسالة إلى قناة عامة أو إلى DM. |
| twitch_stream_started | (الاسم ، URL) "الاسم" هو اسم نشل اللافتة الذي بدأ البث. "url" هو عنوان URL Thitch للتيار الذي بدأ. | ينبعث كلما يبدأ أحد اللافتات التي تم تكوينها للمراقبة. |
| twitch_stream_ended | (الاسم ، URL) "الاسم" هو اسم نشل اللافتة الذي توقف عن البث. "url" هو عنوان URL THITCH للتيار الذي انتهى. | ينبعث كلما توقف أحد اللافتات التي تم تكوينها لمراقبة البث. |
| Host_stream_started | لا حجج | ينبعث عندما يبدأ تدفق المضيف الذي تم تكوينه |
| Host_stream_ended | لا حجج | المنبعث عندما يتوقف مضيف اللافتات المضيف المتدفق |
إذا وجدت مشكلة أو خطأ مطبعي ، فيرجى الإبلاغ عنها عن طريق إنشاء مشكلة جديدة على Github.
المساهمات موضع ترحيب ، يرجى فتح طلب سحب على جيثب.
help القيادةمساعدة [الأمر] يظهر معلومات مفيدة حول الأمر المقدم. استبدال [الأمر] بـ الأمر الذي تريد المساعدة به. مثال: botname! مساعدة ويكي قد يستخدم جميع مستخدمي Discord هذا الأمر.
info القيادةمعلومات عرض معلومات عامة حول الروبوت ، بما في ذلك على سبيل المثال لا الحصر ؛ - إصدار حزمة بيثون - وقت التشغيل (كم من الوقت تم تشغيل الروبوت) - المكونات الإضافية المثبتة ، تم تمكينها وتعطيلها مثال: botname! مساعدة قد يستخدم جميع مستخدمي Discord هذا الأمر.
quote القيادةيقتبس يعرض عرض أسعار مشهور عشوائي مثال: botname! اقتباس قد يستخدم جميع مستخدمي Discord هذا الأمر.
timezoneTimeZone [TimeZone_Name] اضبط المنطقة الزمنية لمؤلف رسالة Discord ، مما يسمح بذلك مستخدم Discord لتوفير/رؤية التواريخ والأوقات في المنطقة الزمنية المحلية. يجب استبدال [timezone_name] باسم المنطقة الزمنية من Iana قاعدة بيانات المنطقة الزمنية ، أو بعض السلسلة الفرعية ، على سبيل المثال "لندن" أو "لوس أنجلوس". إذا كنت العيش في مدينة كبيرة ، ثم في كثير من الأحيان مجرد كتابة اسم المدينة هنا ستكون كافٍ. إذا كنت تواجه مشكلات ، فحاول اختيار منطقتك هذه الخريطة الزمنية Iana ، واستخدام اسم البلد/المدينة المعروضة في مربع التحديد المنسدلة: https://kevalbhatt.github.io/timezone-picker إن إرسال هذا الأمر بدون وسيطات سيستعلم عن المنطقة الزمنية حاليًا تم تعيينه لمؤلف رسالة Discord. مثال: BOTNAME! Timezone # إعداد المنطقة الزمنية للاستعلام لهذا المستخدم botname! TimeZone London # تعيين المنطقة الزمنية لهذا المستخدم إلى "أوروبا/لندن" قد يستخدم جميع مستخدمي Discord هذا الأمر.
streamers الأوامراللافتات يعرض قائمة من اللافتات التي يتم مراقبتها حاليًا. مثال: botname! اللافتات فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
addstreamersaddstreamers [الاسم] ... يضيف واحد أو أكثر من اللافتات الجديدة إلى قائمة اللافتات التي يتم مراقبتها. يستبدل [الاسم] مع اسم (اسم) Twitch من اللافتات (S) التي تريد مراقبتها. مثال: botname! addstreamers streamer1 Streamer2 Streamer3 فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
removestreamersالإزالة [الاسم] ... يزيل واحد أو أكثر من اللافتات من قائمة اللافتات التي يتم مراقبتها. استبدال [الاسم] مع اسم (اسم) نشل من اللافتات (s) التي تريد إزالتها. مثال: botname! removeStreamers Streamer1 Streamer2 Streamer3 فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
clearallstreamersclearallstreamers يمسح قائمة اللافتات التي يتم مراقبتها حاليًا. مثال: botname! clearallstreamers فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
phrases الأوامرعبارات يعرض قائمة مرقمة من العبارات المستخدمة حاليًا لإعلانات الدفق. مثال: botname! عبارات فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
testphrasesTratphrases يعرض جميع العبارات المستخدمة حاليًا لإعلانات الدفق ، مع الرموز المميزة للتنسيق السكان ، حتى تتمكن من رؤية ما ستبدو عند نشره على قناة Discord. مثال: botname! testphrases فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
addphrase AddPhrase [عبارة]
يضيف عبارة جديدة لاستخدامها في دفق annnouncements. التنسيق التالي
يمكن استخدام الرموز في عبارة:
{streamer_name}: تم استبداله باسم نشل اللافتات
{Stream_url}: تم استبداله بعنوان URL للتيار على Twitch.tv
{botname}: تم استبداله باسم الروبوت الذي يراه مستخدمو Discord الآخرين
{Date}: تم استبداله بالتاريخ الحالي بتنسيق DD/MM/YYY
{Times}: تم استبداله بالوقت الحالي في HH: MM: SS Format
{time}: تم استبداله بالوقت الحالي في HH: MM Format
{Day}: تم استبداله باسم يوم الأسبوع الحالي (على سبيل المثال "Monday")
{month}: تم استبداله باسم الشهر الحالي (على سبيل المثال "يناير")
{year}: تم استبداله بالعام الحالي (على سبيل المثال "2022")
مثال:
botname! addPhrase "{streamer_name} يتم الآن بث في {stream_url}!"
فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
removephrases أمرremovePhrases [رقم] [رقم] ... يزيل عبارات واحدة أو أكثر من قائمة العبارات المستخدمة لإعلانات الدفق. يجب استبدال [الرقم] برقم العبارة المطلوبة ، كما هو موضح في القائمة المرقمة التي تنتجها أمر "العبارات". بمعنى آخر ، من أجل الإزالة عبارة ، يجب أولاً إلقاء نظرة على إخراج أمر "العبارات" للحصول على عدد العبارة التي تريد إزالتها. مثال: botname! removePhrases 3 4 5 فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
nocompetitionعدم المنافسة [تمكين] [تمكين] يجب استبداله إما "صحيح" أو "خطأ". إذا كان صحيحا ، إذن لا سيتم إصدار إعلانات حول التدفقات الأخرى أثناء تدفق اللافتة المضيفة. إذا كان خطأ ، فسيتم دائمًا إصدار إعلانات ، حتى لو كان اللافتة المضيفة يتدفق. (للتحقق مما إذا تم تمكين المنافسة المميتة ، قم بتشغيل الأمر بدون وسيطة حقيقية/خاطئة) أمثلة: botname! botname! falseition false (تمكين التنافسية العسكرية) botname! فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
cmdhistorycmdhistory [enter_count] إظهار الإدخالات القليلة الأخيرة في ملف سجل الأوامر. إذا لم يتم إعطاء عدد ثم وتظهر آخر 25 إدخالات. أمثلة: botname! cmdhistory (عرض 25 إدخالات) botname! cmdhistory 5 (عرض 5 إدخالات) فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
say الأمرقل [أشياء ليقول] يؤدي إلى إرسال الروبوت رسالة في قناة الإعلانات ، على الفور ، والتي تحتوي على كل ما تكتبه في مكان [الأشياء ليقول]. مثال: botname! قل صباح الخير فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
pluginsالإضافات اعرض جميع الإضافات المحملة ، وإظهار الإضافات التي يتم تمكينها حاليًا مثال: botname! مساعدة ويكي فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
plugsonPlugson [plugin_name] [plugin_name] ... تمكين / تشغيل واحد أو أكثر من المكونات الإضافية بالاسم (يمكن رؤية أسماء المكونات الإضافية في إخراج أمر "الإضافات" ، وتحيط به الأقواس المربعة على سبيل المثال "[]"). مثال: botname! pluginon knock_knock_jokes other_plugin فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
plugsoffplugsoff [plugin_name] [plugin_name] ... تعطيل / إيقاف تشغيل مكون إضافي واحد أو أكثر (يمكن رؤية أسماء المكونات الإضافية في إخراج أمر "الإضافات" ، وتحيط به الأقواس المربعة على سبيل المثال "[]"). مثال: botname! pluginoff knock_knock_jokes other_plugin فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
pluginfoالبرنامج المساعد [Plugin_Name] معلومات الاستعلام عن البرنامج المساعد المحمّل. مثال: botname! pluginfo knock_knock_jokes فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
twitchclientidTwitchClientId [client_id_string] [client_secret_string] يعين معرف العميل وسر العميل المستخدمين للتفاعل مع واجهة برمجة تطبيقات Twitch. استبدل [client_id_string] بسلسلة معرف العميل لتطبيق Twitch الخاص بك. استبدل [client_secret_string] بسلسلة العميل السري لتطبيق Twitch الخاص بك. مثال: botname! مساعدة twitchclientid xxxxxxxxxxx yyyyyyyyyyyyyyy فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
announcechannelANDCECHANNEL [DISCORD_CHANNEL_NAME] يحدد قناة Discord حيث سيتم نشر إعلانات الدفق. إذا لم يكن هناك خلاف يتم توفير اسم القناة ، ثم اسم قناة إعلانات الدفق الحالية سيتم إرجاعها. مثال: botname! ANDRECECHANNEL # الاستعلام اسم القناة الحالية BOTNAME! ANDRECECHANNEL قناة إعلانات # قناة My-Channel # إلى "قناةتي" فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
joke القيادةنكتة يروي نكتة مفترسة تفاعلية. يمكنك أيضًا * إخبار * النكات المقيدة إلى الروبوت ، وسوف تتذكر النكات الجديدة لإخبارهم بالعودة إليك لاحقًا عند إرسال هذا الأمر. يمكن لأي مستخدمين للخلاف أن يخبروا النكات إلى الروبوت ، ولكن فقط النكات التي أخبرها المستخدمون المدرجين في القائمة في "discord_joke_tellers" في ملف التكوين ، سيتم تذكر. مثال: botname! نكتة قد يستخدم جميع مستخدمي Discord هذا الأمر.
wikiويكي [نص البحث] ابحث في النص المقدم باستخدام واجهة برمجة التطبيقات العامة لـ Wikipedia ، وإرجاع النص الموجز (بشكل عام الفقرة الأولى) من الصفحة الأولى في نتائج البحث. إذا لم يكن هناك بحث يتم توفير النص ، ثم سيتم اختيار مقالة ويكيبيديا عشوائية بدلاً من ذلك. أمثلة: @botname! لغة ويكي بيثون (إظهار ملخص صفحة wiki للغة البرمجة Python) botname! wiki (إظهار ملخص لصفحة ويكي عشوائية) قد يستخدم جميع مستخدمي Discord هذا الأمر.
mockوهمية [ذكر] كرر آخر شيء قاله مستخدم معين في لهجة "سخرية". استبدال [ذكر] مع ذكر لمستخدم Discord الذي تريد أن يسخر منه. مثال: botname! mockdiscord_user قد يستخدم جميع مستخدمي Discord هذا الأمر.
apologizeاعتذر [ذكر] اعتذر لمستخدم معين لسخرته. استبدال [ذكر] مع ذكر مستخدم Discord الذي تريد الاعتذار إليه. مثال: botname! الاعتذار discord_user قد يستخدم جميع مستخدمي Discord هذا الأمر.
apologiseاعتذر [ذكر] اعتذر لمستخدم معين لسخرته. استبدال [ذكر] مع ذكر مستخدم Discord الذي تريد الاعتذار إليه. مثال: botname! الاعتذار discord_user قد يستخدم جميع مستخدمي Discord هذا الأمر.
schedule القيادةالجدول الزمني [channel_name] [message_text] في | on | at [time_description] قم بإعداد رسالة لإرسالها بواسطة الروبوت في قناة خلاف محددة بعد محددة تأخير الوقت. يجب استبدال [channel_name] باسم قناة Discord التي أنت تريد إرسال الرسالة. يجب استبدال [message_text] بأي نص تريد إرساله في رسالة Discord. يجب استبدال [time_description] بوصف الوقت المطلوب من قبل يتم تسليم الرسالة إلى القناة. يمكن وصف الوقت في إحدى الطرق التالية: - فترة تأخير مطلقة مكتوبة باللغة الإنجليزية ، باستخدام الأرقام (على سبيل المثال "5") بدلاً من الكلمات (على سبيل المثال "خمسة") لقيم الأرقام. على سبيل المثال: "دقيقة واحدة" ، "ساعتين و 3 دقائق" ، "2HRS3Mins" ، "ساعتان و 3 دقائق" - تاريخ ووقت محددين ، مكتوب في أحد التنسيقات التالية: * DD/MM/YYYY HH: MM * yyyy/mm/dd hh: mm * HH: MM DD/MM/YYYY * HH: MM YYYY/MM/DD ملاحظة: إذا كنت تستخدم تاريخًا/وقتًا محددًا ، فيجب عليك أولاً إخبار الروبوت الذي المنطقة الزمنية التي تستخدمها في أمر "! timezone". بهذه الطريقة ، يمكنك توفير التواريخ/الأوقات في المنطقة الزمنية المحلية. عليك فقط ضبط المنطقة الزمنية الخاصة بك مرة واحدة ، سوف الروبوت تذكر ذلك (راجع "botname! issone Zone Zone" لمزيد من التفاصيل حول كيفية ضبط المنطقة الزمنية). إرسال الأمر بدون وسيطات يرجع قائمة الرسائل المجدولة حاليًا. أمثلة: botname! جدول # استعلام الرسائل المجدولة حاليًا botname! جدول النكات هاها! في ساعتين # رسالة جدول إلى "النكات" في ساعتين botname! جدولة تمطر الأخبار :( في رسالة جدول 1H و 10M # إلى "الأخبار" في ساعة واحدة ، 10 دقائق botname! جدولة عام Howdy! في الساعة 17:02 23/10/2025 # رسالة جدول إلى "عام" في تاريخ ووقت محددين فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
unscheduleUnscedule [message_number] [message_number] ... غير مجدولة الكل غير مجدول آخر قم بإزالة رسالة مجدولة واحدة أو أكثر حسب الرقم. [message_number] يجب استبداله مع عدد الرسالة التي تريد إزالتها ، كما هو موضح في إخراج تشغيل أمر "!! بدون حجج. بدلاً من ذلك ، بدلاً من تمرير الأرقام ، يمكنك تمرير وسيطة واحدة من "الكل" لإزالة جميع الرسائل المجدولة في وقت واحد ، أو "آخر" لإزالة مؤخرًا تمت إضافة رسالة مجدولة. أمثلة: botname! Unscedule Last # قم بإزالة آخر رسالة تمت إضافتها botname! Unscedule كل # قم بإزالة جميع الرسائل botname! Unschedule 2 # قم بإزالة الرسالة # 2 botname! Unschedule 5 6 # قم بإزالة الرسائل 5 و 6 فقط مستخدمي Discord المسجلين في "Discord_admin_users" في ملف تكوين BOT قد يستخدمون هذا الأمر.
remindmeتذكر [تذكير_text] في | on | at [time_description] إعداد تذكير. بعد الوقت المحدد ، سيرسل لك الروبوت مديري دبي مع أي شيء النص الذي قدمته لـ [ANTHIRDER_TEXT]. يجب استبدال [ANTHIRDER_TEXT] بأي نص تريده في رسالة التذكير ، على سبيل المثال ، الشيء الذي تريد تذكيره. يجب استبدال [time_description] بوصف الوقت المطلوب من قبل يتم تسليم التذكير. يمكن وصف الوقت في إحدى الطرق التالية: - فترة تأخير مطلقة مكتوبة باللغة الإنجليزية ، باستخدام الأرقام (على سبيل المثال "5") بدلاً من الكلمات (على سبيل المثال "خمسة") لقيم الأرقام. على سبيل المثال: "دقيقة واحدة" ، "ساعتين و 3 دقائق" ، "2HRS3Mins" ، "ساعتان و 3 دقائق" - تاريخ ووقت محددين ، مكتوب في أحد التنسيقات التالية: * DD/MM/YYYY HH: MM * yyyy/mm/dd hh: mm * HH: MM DD/MM/YYYY * HH: MM YYYY/MM/DD ملاحظة: إذا كنت تستخدم تاريخًا/وقتًا محددًا ، فيجب عليك أولاً إخبار الروبوت الذي المنطقة الزمنية التي تستخدمها في أمر "! timezone". بهذه الطريقة ، يمكنك توفير التواريخ/الأوقات في المنطقة الزمنية المحلية. عليك فقط ضبط المنطقة الزمنية الخاصة بك مرة واحدة ، سوف الروبوت remember it (see "@BotName !help timezone" for more details about how to set your timezone). Sending the command with no arguments returns the list of active reminders for the user that sent the command. أمثلة: @BotName !remindme # Query current reminders for me @BotName !remindme To take out the trash... in 12 hours # schedule reminder in 12 hours @BotName !remindme to take a shower :D in 1 day and 5 mins # Schedule reminder in 1 day and 5 minutes @BotName !remindme to brush my teeth on 22/4/2025 14:30 # Schedule reminder at specific date & time All discord users may use this command.
unremindunremind [reminder_number] [reminder_number] ... unremind all unremind last Remove one or more reminders by number. [reminder_number] should be replaced with the number of the reminder you want to remove, as shown by the output of running the '!remindme' command with no arguments. Alternatively, instead of passing numbers, you can pass a single argument of "all" to remove all reminders at once, or "last" to remove the last reminder that you scheduled. أمثلة: @BotName !unremind last # Remove last added reminder @BotName !unremind all # Remove all reminders @BotName !unremind 2 # Remove reminder #2 @BotName !unremind 5 6 # Remove reminders 5 and 6 All discord users may use this command.
triviatrivia [time_limit] Fetch a trivia question from opentdb.com and allow all discord users to provide an answer until the time limit is up. Whoever provides the correct answer first gets 2 points, and any other correct answers that came after that get 1 point. If the correct answer is not provided, then no points are awarded. [time_limit] should be replaced with the desired time limit for the question, in seconds. This parameter is optional; if no time limit is provided then a time limit of 60 seconds will be used. مثال: @BotName !trivia All discord users may use this command.
triviascorestriviascores Shows total score for all discord users who have ever answered a trivia question correctly. The first correct answer to a trivia question gets 2 points, and all other correct answers get 1 point. مثال: @BotName !triviascores All discord users may use this command.
story story new|add|continue|show|stop [optional story contribution text]
Interact with the story being written on the current discord channel.
The first argument to this command may be one of the following 5 operations:
new - Start a new story in this channel.
add - Contribute the next part of the story being written on this channel.
[optional story contribution text] should be replaced with your desired
text for the next part of the story.
continue - Instead of starting a new story with a random prompt, add to an existing
story by providing the whole story. [optional story contribution text]
should be replaced with the text of the story that you want to continue.
(Note: if your story is too large to fit in a single discord message,
you may need to start with a smaller portion of the story, and afterwards
add the remaining text using the '!story add' command)
show - Show the current story as written so far.
stop - Stop the story writing session, and show the story as written so far.
أمثلة:
@BotName !story new (Provide a random prompt to start a new story)
@BotName !story add And then he fell down... (Contribute to the current story)
@BotName !story continue Call me Ishmael (Start new story with provided text, no prompt)
@BotName !story show (Show the story as written so far)
@BotName !story stop (Stop the story)
All discord users may use this command.
socialcreditsocialcredit [top] Show your social credit score. The scoring algorithm is designed to favour users who interact regularly with the server, as long as those interactions are not "spread thinly" throughout the server. For example, posting a lot of messages in a single channel every day may make your score go up, but posting one message in all channels very infrequently may make your score go down. Using the command with no arguments shows your own social credit score. Using the command with a single argument of "top" (eg "!socialcredit top") shows the 10 users with the highest social credit score. مثال: @BotName !socialcredit # Show your social credit score @BotName !socialcredit top # Show highest 10 scores All discord users may use this command.