commands - xnamed/isida-ar GitHub Wiki

المحتويات

أوامر البوت

البوت لديه الكثير من الأوامر والقائمة تنمو باستمرار. يمكن الحصول على قائمة أوامر البوت المتاحة بمستوى الوصول الحالي باستخدام الأمر commands. تحتوي معظم الأوامر على مساعدة، والتي يمكن طلبها بواسطة help <الأمر, أو جزء من وصف الأمر> ، ولكن هناك أوامر معقدة يصعب فهم مبادئ التشغيل الخاصة بها بواسطة وصف موجز.

قوائم الإجراءات - acl.

يوفر هذا الأمر القدرة على تخصيص الإجراءات لأحداث معينة في الغرفة ، على سبيل المثال ، لجزء من رسالة أو لإصدار مشارك معين.

  • acl show - عرض قائمة الإجراءات
  • acl del [access_level] [/silent] item - إزالة عنصر من القائمة
  • acl [access_level] [/time] [/silent] event_type [sub|exp|cexp] pattern command - تنفيذ الأمر حسب الشرط

نوع الحدث هو واحد من هذه القائمة: msg, prs, prs_change, prs_join, role, role_change, role_join, aff, aff_change, aff_join, nick, nick_change, nick_join, all, all_change, all_join, jid, jidfull, res, age, ver, vcard. وصف لأنواع الأحداث أدناه.

باستخدام الشرطة المائلة ، تبدأ المفاتيح الإضافية:

/time - ضبط عمر القاعدة. في نهاية هذا الوقت ، سيتم حذف القاعدة تلقائيًا في الحدث التالي ، وهو مناسب لنوع القاعدة. في هذه الحالة ، يكون "time" هو الرقم + المعرف. بحيث يكون المعرّف واحدًا مما يلي:

  • s - ثواني
  • m - دقائق
  • d - أيام
  • w - أسابيع
  • M - أشهر
  • y - سنوات

فمثلا: /10h - 10 ساعات أو /1w - 1 أسبوع. يمكنك فقط استخدام معرف واحد!

/silent - إذا أضفت أو أزلت بنجاح ، فلا تعرض المحتويات الكاملة للإجراء ، ولكن الإجابة ببساطة بـ تم. يتم إجراء هذا المفتاح لإنشاء اختصارات ACL. يكفي ببساطة للإبلاغ عن التنفيذ الناجح.

access_level - مستوى الوصول الذي سيتم تنفيذ هذه القاعدة من أجله.

ثم يتبع وصف نوع الحدث:

  • msg - رسالة
  • prs - أي رسالة حالة
  • prs_change - أي رسالة حالة ، باستثناء الرسالة عند دخول الغرفة
  • prs_join - رسالة الحالة عند دخول الغرفة
  • role - أي تواجد مع دور المشارك (زائر ، مشارك ، مشرف)
  • role_change - تغيير دور المشارك ، باستثناء عند دخول الغرفة
  • role_join - دور المشارك عند دخول الغرفة
  • aff - أي تواجد مع انضمام المشارك (none ، عضو ، مدير ، مالك)
  • aff_change - تغيير الانضمام ، باستثناء عند دخول الغرفة
  • aff_join - انضمام المشارك عند دخول الغرفة
  • nick - أي تواجد بلقب
  • nick_change - تغيير اللقب ، باستثناء اللقب عند دخول الغرفة
  • nick_join - اللقب عند دخول الغرفة
  • jid - الحساب بدون ريزورس
  • jidfull - الحساب مع ريزورس
  • res - ريزورس
  • age - وقت بقاء المشارك في الغرفة
  • ver - الإصدار
  • vcard - الـ vCard الخاص بالمشترك
  • all - أي من الأحداث المذكورة أعلاه
  • all_change - أي من الأحداث المذكورة أعلاه ، باستثناء أحداث الدخول الى الغرفة
  • all_join - أي من الأحداث المذكورة أعلاه فقط عند الدخول الى الغرفة

التالي هو وصف لنوع العينة:

  • sub فرعية
  • exp هو تعبير نمطي
  • cexp هو تعبير نمطي حساس لحالة الأحرف
  • = - تطابق صارم
  • >, <, >=, <= - هذه الشروط متوفرة فقط لأحداث الوقت

التالي هو أي أمر من أوامر البوت مع مستوى وصول يصل إلى 7. يمكنك استخدام المعطيات داخل الأمر:

  • ${NICK} - لقب المشارك الذي جاء منه الحدث
  • ${JID} - حساب المشارك
  • ${SERVER} - السيرفر الخاص بحساب المشارك
  • ${EXP} تعبير نمطي ${/EXP} - تمرير المعطيات قطع عن طريق التعبير النمطي

أمثلة

الرد على العبارة التي تحتوي على كلمة "hello":

acl msg sub Hello say ${NICK}: أهلا بك
لطرد المشاركين بريزورس QIP:
acl res cexp ^QIP$ kick ${NICK}
QIP غير مسموح به هنا
عرض إصدار المشارك ، إذا كان في الغرفة أقل من دقيقة:
acl age < 60 ver ${NICK}
يبلغ أن المشارك بـ (مستوى الوصول 3) يخفي الإصدار الخاص به:
acl 3 ver sub Error say ${NICK} يخفي نسخته!
إلغاء تصويت المشتركين (حق التحدث) بـ (مستوى الوصول 3) مع وجود vCard فارغ:
acl 3 vcard empty visitor ${NICK}
املأ الـ vCard وأعد الانضمام!
التنبيه إلى أن المشارك بـ (مستوى الوصول 3) لديه صورة فقط في الـ vCard:
acl 3 vcard exp ^PHOTO:image/[a-z]{2,10},\ [.kmg0-9]+b$ say ${NICK} لديه صورة فقط في الـ vCard!

هام! إذا كانت الغرفة تحتوي على إجراء على إصدار التطبيق ، كما في المثال ، ففي قاعدة البيانات ، سيتم تسجيل معلومات الإصدار تلقائيًا. سيعرض الأمر seen إصدار المشارك بدون تحديد النظام. سيعرض الأمر seenjid النسخة كاملة.

روابط مفيدة

الأخبار: rss

يمكن أن يعرض البوت أخبار RSS / ATOM في الغرف وفقًا لجدول زمني. تنسيق الأمر rss:

  • rss show - عرض الاشتراكات الحالية.
  • rss add url time mode - إضافة اشتراك.
  • rss del url - حذف الاشتراك.
  • rss get url feeds mode - الحصول على الأخبار الحالية.
  • rss new url feeds mode - الحصول على الأخبار غير المقروءة فقط.
  • rss clear - حذف كل الأخبار في الغرفة الحالية.
  • rss all - عرض كل الأخبار في جميع الغرف.

بحيث:

  • url - عنوان قناة rss. يمكن ضبطه بدون http://
  • time - وقت تحديث القناة. رقم + مؤشر الزمن. h - ساعات ، m - دقائق. يسمح بمؤشر واحد فقط.
  • feeds - عدد الرسائل لتلقيها. ليس أكثر من 10 قطع.
  • mode وضع تلقي الرسائل. full - الرسائل كاملة تماما ، head - الرؤوس فقط ، body - فقط نص الرسالة. مع نهاية - url ، سيتم عرض الأخبار مع الرابط.

مثال

rss add bash.org.ru/rss 1h full-url

الإعدادات: config

يحتوي البوت على الكثير من الإعدادات. تنقسم الإعدادات إلى مجموعتين - الإعدادات العامة والإعدادات لغرفة معينة. الإعدادات العامة للبوت متاحة لمالكها من خلال مراجعة الخدمات ، أو ad-hoc ، أو حساب البوت في القائمة للتحكم عن بُعد. إعدادات الغرفة متاحة للمشاركين بمستوى وصول 7 على الأقل ، أيضًا من خلال نظرة عامة على الخدمات ، ad-hoc أو التحكم عن بعد في إعدادات الغرفة، أو من خلال أمر config.

config [show[ status]|help][ item]

أمثلة

عرض قائمة الإعدادات:

<xnamed> config show
<iSida> Elements are available: autoturn, bomb, bomb_action, bomb_action_level, bomb_fault, bomb_fault_persent,
	bomb_idle, bomb_random, bomb_random_active, bomb_random_active_timer, bomb_random_timer,
	bomb_random_timer_persent, bomb_random_timer_skip_persent, bomb_reason, bomb_timer, bomb_wire,
	censor, censor_action_member, censor_action_non_member, censor_custom, censor_custom_rules,
	censor_warning, clear_answer, flood, karma_action, karma_action_1ban, karma_action_2kick,
	karma_action_3visitor, karma_action_4none, karma_action_5participant, karma_action_6member,
	karma_action_7moderator, karma_action_reason, karma_hard, karma_limit, karma_limit_size,
	make_stanza_jid_count, muc_filter, muc_filter_adblock, muc_filter_adblock_prs, muc_filter_adblock_prs_raw,
	muc_filter_adblock_raw, muc_filter_blacklist, muc_filter_blacklist_rules_jid, muc_filter_blacklist_rules_nick,
	muc_filter_censor, muc_filter_censor_prs, muc_filter_censor_prs_raw, muc_filter_censor_raw,
	muc_filter_deny_hash, muc_filter_deny_hash_list, muc_filter_hash, muc_filter_hash_action,
	muc_filter_hash_action_current, muc_filter_hash_action_time, muc_filter_hash_ban_by_rejoin,
	muc_filter_hash_ban_by_rejoin_timeout, muc_filter_hash_ban_server_by_rejoin,
	muc_filter_hash_ban_server_by_rejoin_exception, muc_filter_hash_ban_server_by_rejoin_notify_jid,
	muc_filter_hash_ban_server_by_rejoin_rejoins, muc_filter_hash_ban_server_by_rejoin_timeout,
	muc_filter_hash_events, muc_filter_hash_time, muc_filter_large, muc_filter_large_nick,
	muc_filter_large_status, muc_filter_match, muc_filter_newbie, muc_filter_newbie_time, muc_filter_newline,
	muc_filter_newline_count, muc_filter_newline_msg, muc_filter_newline_msg_count, muc_filter_raw_percent,
	muc_filter_reduce_spaces_msg, muc_filter_reduce_spaces_prs, muc_filter_rejoin, muc_filter_repeat,
	muc_filter_repeat_prs, muc_filter_whitelist, parse_define, smiles, url_title

عرض حالة العنصر:

<xnamed> config flood
<iSida> Flood: smart

عرض الخيارات المتاحة لتخصيص العنصر:

<xnamed> config flood items
<iSida> Available elements: off, random, smart,
عرض حالة جميع الإعدادات:
<xnamed> config show status
<iSida> Current Status: 
[bomb] - Bomb. Allow the distribution of bombs: on
[bomb_action] - Bomb. Action in the explosion: drive out
...
[url_title] - Show link headers: off

وصف لبعض العناصر

يتزايد عدد الإعدادات باستمرار وقد لا يتطابق مع القائمة أدناه:

إعدادات فلتر الغرفة

  • muc_filter - تمكين / تعطيل الفلتر
  • muc_filter_adblock - نوع الإجراء عند الإعلان في الرسالة
  • muc_filter_adblock_prs - نوع الإجراء عند الإعلان في رسالة الحالة
  • muc_filter_censor - إجراءات الرقابة على كلمات غير مرغوبة في الرسالة
  • muc_filter_censor_prs - إجراءات الرقابة على كلمات غير مرغوبة في رسالة الحالة أو اللقب
  • muc_filter_large - نوع الإجراء على الرسالة الطويلة
  • muc_filter_large_nick - نوع الإجراء على لقب طويل
  • muc_filter_large_status - نوع الإجراء على حالة طويلة
  • muc_filter_match - نوع الإجراء عند تكرار النص داخل الرسالة
  • muc_filter_rejoin - منع الدخول المتكرر
  • muc_filter_repeat - نوع الإجراء عند تكرار الرسالة
  • muc_filter_repeat_prs - نوع الإجراء عند إرسال الحالات بشكل متكرر

يمكن العثور على مزيد من المعلومات حول فلتر الغرفة هنا .

اعدادات اخرى

  • censor - تمكين / تعطيل المراقب العام
  • censor_action_member - فرض الرقابة على الأعضاء الدائمين
  • censor_action_non_member - فرض رقابة على الأعضاء غير الدائمين
  • censor_warning - توبيخ المدراء عندما يرسلون كلمات غير مرغوبة
  • clear_answer - تنبيهات التنظيف حول البداية والنهاية كرسالة أو حالة
  • flood - تفعيل الرد الآلي
  • url_title - عرض عناوين الروابط

الاختصارات: alias

يهدف الأمر alias إلى إنشاء أوامر بديلة تعتمد على الأوامر الموجودة ، ويمثل بجانب أمر acl ، مجموعة جيدة إلى حد ما لتوسيع وظيفة البوت.

تنسيق الأمر:

  • alias add aa = bb - تنفيذ الأمر bb عند كتابة الأمر aa
  • alias del aa - إزالة الاختصار aa
  • alias show [text] - عرض كل الاختصارات أو ما شابه النص

داخل الاختصار ، يمكنك تمرير المعطيات:

  • %* - تمرير جميع المعطيات كما هي
  • %N - نقل رقم المتغير N ، الترقيم من الصفر
  • %{reduce}* - إزالة المسافات في البداية والنهاية وتمرير المعطيات
  • %{reduceall}* - إزالة المسافات في البداية والنهاية والمسافات المكررة داخل النص وتمرير المعطيات
  • %{unused}* - إرسال المعطيات غير المستخدمة

يجب أيضًا مراعاة أنه في الاختصارات ، يتم تحديد الأمر القابل للتنفيذ بدون بادئة (prefix) ، بالإضافة إلى تنفيذ الاختصار بدون بادئة.

أمثلة

أمر التنظيف:

alias add نظف=clear %{reduce}*
أمر سحب حق التحدث التلقائي للمشارك:
alias add !avisitor=acl /%1 /silent jid %0 visitor ${NICK}
%{unused}*

تنفيذ الأمر

!avisitor [email protected] 1h so it is necessary!

اختصارات مفيدة

آخر تحديث على موقع البوت:

alias add !latest=www <li>(.*)<li>
isida-bot.com
اختصار فصل نسخة بـ (مستوى الوصول 4):
alias add فصل نسخة=acl 4 /silent ver sub %* ban ${NICK}‏
هذا الإصدار محظور
اختصار منع الرسائل في الخاص من المشاركين غير المنتسبين:
alias add اغلاق=pmlock on
⚠️ **GitHub.com Fallback** ⚠️