الفلتره

في Junction Bot ، يمكنك تصفية رسائل Telegram الواردة من خلال تطبيق قواعد التصفية. أنت تقرر الرسائل التي تتلقاها وأيها سيتم تصفيتها حتى لا تراها (مثل الإعلانات، على سبيل المثال).

يمكن تطبيق المرشحات على القنوات بشكل منفصل أو على جميع القنوات مرة واحدة. يمكنك الجمع بين أي كمية من المرشحات من أي نوع.

الميزات المدعومة : mustHave، mustNotHave، regex، التصفية حسب نوع المرفق وغيرها الكثير.

يرجى ملاحظة أن هناك ميزة تصحيح أخطاء مفيدة جدًا، والتي قد توفر عليك ساعات عديدة.

الأوامر

/filter - قم بإنشاء عامل تصفية (لمصدر واحد) أو قم بإزالة عامل التصفية إذا تم إدخاله للمرة الثانية. يُدمج مع: "mustHave"، و"mustNotHave"، و"every"، ونوع المرفق /filterrx - التصفية حسب التعبير العادي (انظر الأمثلة هنا ) /filterall ، /filterrxall - قم بإنشاء مرشح لجميع المصادر /filter source_channel_reference - راجع جميع عوامل التصفية الحالية المطبقة على القناة

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

يجب أن يكون لديك، يجب أن لا يكون لديك مرشحات

mustHave - ستتلقى فقط الرسائل التي تحتوي على نص محدد
شكل:  /filter source_channel_reference mustHave text to receive
السابق.  /filter https://t.me/junction_bot_news mustHave cool cats
يرجى تذكر أن نص الفلتر ينطبق كعبارة كاملة، وليس ككلمات منفصلة. لذا، في هذا المثال، ستتلقى جميع الرسائل التي تحتوي على العبارة المحددة "قطط رائعة". لا تحتاج إلى استخدام أي أحرف هروب مثل هنا.

mustNotHave - يقوم بتصفية الرسائل التي تحتوي على نص محدد
شكل:  /filter source_channel_reference mustNotHave text to filter out
السابق.  /filter https://t.me/junction_bot_news mustNotHave old hats

الجمع بين المرشحات

سيتم دمج العديد من مرشحات mustHave بناءً على قاعدة “OR”.

سيتم دمج العديد من مرشحات mustNotHave بناءً على قاعدة “AND”.

ملاحظة: لا يمكنك دمجهما في أمر واحد. استخدم أمرًا منفصلاً لكل مرشح.

أمثلة:
/filter source_channel_reference mustHave cats
/filter source_channel_reference mustHave kittens
ستصلك جميع الرسائل التي تحتوي إما على كلمة قطط أو كلمة قطط
/filter source_channel_reference mustNotHave dogs
/filter source_channel_reference mustNotHave puppies 
لن تصلك أي رسائل تحتوي على كلمات "كلاب" أو "جراء"

التصفية حسب نوع مرفق Telegram

كما يمكنك تصفية رسائل الوسائط. لذلك استخدم إحدى السلاسل التالية كنص مرشح: <صورة> ,< وثيقة>, <صوتي>, <فيديو>, <ملصق>, <صوت>, <موقع>, <الرسوم المتحركة>, <videonote>, <تصويت>.

أمثلة:
/filter source_channel_reference mustHave <audio>  - لن تصلك إلا الرسائل التي تحتوي على مرفقات صوتية من القناة
/filter source_channel_reference mustNotHave <photo>  - لن تصلك أي رسائل تحتوي على صور من القناة

التصفية المتقدمة

يمكنك أيضًا استخدام التعبيرات العادية (RegEx) لإجراء التصفية. لذلك استخدم الأمر /filterrx. لديها نفس الشكل.

فيما يلي بعض الأمثلة الشائعة:
1. إيقاف المشاركات التي تحتوي على كلمةword في تعليق للصورة
/filterrx source_channel_reference mustNotHave .*word.*<photo>.*
2. كلمتين -word1  وword2  - بترتيب معين
/filterrx source_channel_reference mustNotHave .*word1.*word2.*
3. كلمتين بأي ترتيب
/filterrx source_channel_reference mustNotHave (?=.*\bword1\b)(?=.*\bword2\b).*
5. كلمتين بأي ترتيب، تجاهل السجل
/filterrx source_channel_reference mustNotHave (?i:.*wOrd1.*woRd2.*)
6. أي كلمة من مجموعة
/filterrx source_channel_reference mustNotHave .*word1.*|.*word2.*|.*word3.*
7. يمكنك الجمع بينهما. على سبيل المثال، أي من الكلمات، غير حساسة لحالة الأحرف
/filterrx source_channel_reference mustNotHave (?i:.*wOrd1.*|.*worD2.*|.*woRd3.*)
8. أي كلمة تحتوي على الأبجدية الروسية
/filterrx source_channel_reference mustNotHave .*([а-яА-Я]+).*
9. أي رابط HTTP
/filterrx source_channel_reference mustNotHave .*(http:\/\/|https:\/\/).*
10. أي رقم
/filterrx source_channel_reference mustNotHave .*([0-9]+).*
11. أي اسم مستخدم
/filterrx source_channel_reference mustNotHave .*@([a-zA-Z0-9=&_\-] +).*

من المهم أن تفهم ماهية RegEx قبل استخدام هذه المرشحات. على سبيل المثال، لا يتطابق المرشح الذي يحتوي على التعبير العادي word2 مع الرسالة word1 word2 word3 ، لأنه يحتوي على كلمات أخرى غير word2. تذكر إضافة .* على جانبي الكلمة: .*word2.*

لاحظ فارقًا بسيطًا مهمًا: عند التصفية، يمكن للروبوت إضافة مسافة و/أو رمز محتوى الوسائط في نهاية النص. ولذلك، ننصحك بوضع .* دائمًا في نهاية مرشحات RegEx الخاصة بك.

نقطة أخرى مهمة: عادةً ما يحتوي RegEx للمرشحات على.* في البداية وفي النهاية، لأنك تريد أن تناسب الرسالة بأكملها التعبير. إذا كنت تريد استخدام تعبير مشابه للبدائل، فمن المحتمل أنك تريد إزالته.* (وإلا فإن الاستبدال سيحل محل نص الرسالة بالكامل).

توجد أداة ملائمة جدًا لاختبار التعبيرات العادية: https://regex101.com . اضبط النكهة على “Java 8” واضبط العلامة “سطر واحد: النقطة تتطابق مع السطر الجديد”. وهذا سيجعله يعمل بنفس طريقة مطابقة @junction_bot.

مساعدة في التعبيرات العادية

التعبيرات العادية هي موضوع واسع. المساعدة في هذا المجال تقع خارج نطاق إدارة الروبوت. من فضلك لا تكتب إلى المسؤولين على انفراد وتطلب منهم أن يضعوا لك قاعدة بديلة أو مرشحًا. كما أن إدارة الروبوت لا تقدم هذا النوع من المساعدة في مجموعة الدعم.

أسهل طريقة لإنشاء تعبير عادي لتلبية احتياجاتك هي أن تطلب من ChatGPT ، فهو جيد جدًا في ذلك.

يمكنك أيضًا البحث عن المساعدة في المنتديات المناسبة. على سبيل المثال StackOverflow أو CodeProject .

إعداد مرشح لجميع المصادر الخاصة بك

لإضافة عامل تصفية لجميع المصادر الحالية، استخدم/filterall أو/filterrxall (للتعبيرات العادية) الأمر.

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

على سبيل المثال:
/filterrxall add mustNotHave .*(http:\/\/|https:\/\/).*

سيضيف هذا الأمر إلى جميع مصادرك عامل تصفية، مما سيؤدي إلى إيقاف أي رسالة تحتوي على رابط.

نسخ المرشحات

في Junction Bot يمكنك نسخ جميع المرشحات من قناة Telegram إلى أخرى. للقيام بذلك استخدم تنسيق الأمر التالي:

/filter channel_to_copy_filters_to addAllFrom channel_to_copy_filters_from

إزالة المرشحات

لإزالة عامل تصفية، ما عليك سوى إرسال نفس الأمر مرة أخرى.

لرؤية جميع عوامل التصفية الحالية المطبقة على أمر استخدام القناة

/filter source_channel_reference

لحذف جميع المرشحات من جميع قنواتك استخدم الأمر

/filterall DELETE ALL

لاستخدام مرشحات RegEx/filterrx و /filterrxall في المقابل.

استقبال رسالة N-th فقط

في Junction bot ، يمكنك تصفية رسائل Telegram حسب التردد، لذلك سيتم نسخ كل رسالة فقط (في المثال التالي – كل رسالة ثانية). للقيام بذلك، استخدم تنسيق الأمر التالي:

/filter source_channel_reference every 2

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

يمكن لـ Junction bot تصفية رسائل Telegram اعتمادًا على تاريخ ووقت وصولها.

/filtertime source_channel_reference mustHave time interval

مجموعات الفاصل الزمني:
– الفاصل الزمني الذي يجب أن تصل فيه الرسائل إلى mustHave
– الفاصل الزمني الذي يجب ألا تصل فيه الرسائل إلى mustNotHave

قد يحتوي الفاصل الزمني على يوم من أيام الأسبوع والوقت والمنطقة الزمنية.

يوم من أيام الأسبوع . يبدأ دائمًا بحرف w ثم يتبعه أرقام أيام الأسبوع (بدءًا من الإثنين).
مثال:

w135
يتوافق مع الأيام الأول والثالث والخامس من الأسبوع (الإثنين، الأربعاء، الجمعة)

w67
يوافق اليوم السادس والسابع من الأسبوع (السبت والأحد)

وقت . الوقت دائمًا بتنسيق 24 ساعة، فاصل زمني من – إلى (شامل)، الساعات: الدقائق.
أمثلة:
9:30-17:30
0:00-23:59

وحدة زمنية . يرجى الاطلاع على قائمة المناطق الزمنية المتاحة هنا . إذا لم تذكر المنطقة الزمنية صراحةً، فسيتم ضبطها على CET – توقيت وسط أوروبا (أمستردام/برلين/براغ/فيينا)

أمثلة:

/filtertime source_channel_reference mustNotHave 0:00-7:00
لن تصل الرسائل من منتصف الليل حتى الساعة 7 صباحًا بتوقيت وسط أوروبا.

/filtertime source_channel_reference mustHave w12345 8:00-20:00 America/New_York
ستصل الرسائل فقط في أيام العمل (من الاثنين إلى الجمعة) بدءًا من الساعة 8 صباحًا وحتى الساعة 8 مساءً بتوقيت نيويورك.

لإضافة مرشح زمني لجميع المصادر الخاصة بك يمكنك استخدام الأمر/filtertimeall . على سبيل المثال:
/filtertimeall add mustNotHave 0:00-7:00
لازالة:
/filtertimeall remove mustNotHave 0:00-7:00

التصفية حسب الموضوع في المجموعة

لتعيين عامل تصفية الموضوع، استخدم الأمر التالي:

/filtertopic source_channel_reference mustHave topicID

لمعرفة رقم موضوع المجموعة خذ رابط أي مشاركة في الموضوع. الرقم الموجود في منتصف الرابط هو رقم الموضوع. على سبيل المثال، إذا كان الرابط https://t.me/publicchat/1723/36753، فإن رقم الموضوع هو 1723.

أمثلة:

/filtertopic source_channel_reference mustHave 1723
السماح فقط بالمشاركات من الموضوع رقم 1723.

/filtertopic source_channel_reference mustNotHave 7231
تصفية المشاركات من الموضوع رقم 7231.

لنسخ رسائل من مواضيع مختلفة في المصدر إلى قنوات وجهة مختلفة، قم أولاً بإنشاء قواعد إعادة التوجيه اللازمة من المصدر إلى الوجهة. ثم، لكل قاعدة إعادة توجيه محددة، قم بتعيين عامل التصفية المطلوب باستخدام الخيار/filtertopic الأمر باتباع هذه التعليمات . على سبيل المثال، قد يبدو الأمر كما يلي:
/filtertopic &123456789#151617181->-1001222333444 mustHave 1723

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

التكرارات

في بعض الحالات يمكن أن تصلك رسالة واحدة عدة مرات. على سبيل المثال، إذا كنت مشتركًا في قناتين قامت كل منهما بإعادة توجيه نفس المنشور. لتصفية جميع رسائل Telegram المتطابقة في Junction Bot استخدم الأمر /setting duplicate . يعمل على الرسائل المتطابقة خلال فترة 24 ساعة بين ظهورها.

/إعداد التكرار + أحد الخيارات التالية:

تمرير - معطل، السماح بالتكرارات
السابق.  /setting duplicate pass

مرشح - تصفية الرسائل المكررة
السابق.  /setting duplicate filter

لتطبيق هذا الإعداد على قناة واحدة فقط، استبدل الأمر/setting مع/settingchannel source_channel_reference ( اقرأ أكثر ).

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

لنفترض أننا بحاجة إلى إعادة توجيه الرسائل من A إلى B. أنشئ القناة C وقم بإعداد إعادة التوجيه من A (المصدر) إلى C (الوسيط). قم بتطبيق جميع قواعد الاستبدال على القناة أ. ولا تحتاج إلى إنشاء مرشح مكرر للقناة أ.

بعد ذلك، قم بإعداد إعادة التوجيه من C (متوسط) إلى B (الوجهة). قمنا بتعيين قاعدة تصفية لعملية إعادة التوجيه هذه (مع ملحق/settingchannel C duplicate filter الأمر)، والذي سيؤدي إلى إزالة كافة التكرارات، حتى تلك التي ظهرت نتيجة لقواعد الاستبدال.

منتهي! إذا قمت بتعيين مرشح التكرارات لعملية إعادة التوجيه الأولى (من A إلى C)، فلن يؤثر ذلك على التكرارات التي ظهرت نتيجة لقواعد الاستبدال.

التعديل بالجملة للمرشحات

/filterall – سيضيف هذا الأمر هذا الفلتر إلى جميع الاشتراكات وعمليات إعادة التوجيه. يرجى ملاحظة أنه لا يوجد شيء اسمه مجموعة مشتركة من المرشحات – فلا توجد مجموعة من المرشحات المطبقة على جميع القواعد. هناك مجموعة من المرشحات لكل قاعدة اشتراك/إعادة توجيه محددة.

يعمل /filterall مع نفس المجموعات مثل /filter.

بدلاً من source_channel، يمكنك تعيين إجراء: إضافة أو إزالة.

/filterall add - يضيف مرشحًا جديدًا لجميع القنوات.
شكل:  /filterall add [rule] text to receive
السابق.  /filterall add mustHave bitcoin  أو  /filterall add mustNotHave litecoin

/filterall إزالة - إزالة عامل التصفية من كافة القنوات.
شكل:  /filterall remove [rule] text to filter out
السابق.  /filterall remove mustHave bitcoin  أو  /filterall remove mustNotHave litecoin

قم بتغيير الأمر إلى /filterrxall لاستخدام التعبيرات العادية.

مصدر واحد – وجهات عديدة

إذا كانت لديك عدة قواعد لإعادة التوجيه إلى قنوات مختلفة من مصدر واحد وتريد تعيين عامل تصفية لقاعدة وجهة مصدر واحدة فقط، فاتبع هذه التعليمات.

أضف البناء التالي إلى source_channel_reference : > -1001251642436
حيث -1001251642436 هو معرف القناة الوجهة في نظام Telegram بالإضافة إلى البادئة “-100” (وهي الطريقة التي يميز بها Telegram أرقام القنوات عن أرقام الكائنات الأخرى). للعثور على هذا الرقم أمر بسيط للغاية، ابحث في الإنترنت عن التعليمات. على سبيل المثال، قم بإعادة توجيه رسالة من القناة إلى الروبوت @junction_helper0_bot. هناك سترى رقم القناة في Forward_from_chat.id أو Forward_from.id.
لذلك، على سبيل المثال، قد يبدو أمر التكوين كما يلي:
/filter source_channel_reference->-1001251642436 mustHave cats

تصفية المشاركات لشخص معين

يمكنك جعل Junction Bot يقوم بتصفية رسائل Telegram الخاصة بمستخدم معين. لنفترض أن @source هو الدردشة المصدر. لإعادة توجيه الرسائل من @user فقط، قم بما يلي:

  1. قم بإنشاء قاعدة إعادة توجيه جديدة باستخدام الأمر /new
  2. قم بتشغيل نسخ أسماء المؤلفين باستخدام الأمر
    /settingchannel source_channel_reference author full
  3. قم بإعداد عامل التصفية للاسم الذي تحتاجه باستخدام الأمر
    /filter source_channel_reference mustHave user_reference
    إذا كنت تريد أن تكون الرسالة من مستخدم معين وفي نفس الوقت تحتوي على نص محدد، فأنت بحاجة إلى أمر مختلف قليلاً:
    /filterrx source_channel_reference mustHave .*user_reference.*specific text.*

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

مع الauthor سيحتوي إعداد الرسائل الناتجة على اسم مؤلف الرسالة. في بعض الأحيان يكون من الضروري ألا يكون اسم المؤلف موجودًا. سيتطلب ذلك عملية أكثر تعقيدًا بعض الشيء – من خلال قناة وسيطة.

لنفترض أننا بحاجة إلى إعادة توجيه الرسائل من A إلى B. أنشئ القناة C وقم بإعداد إعادة التوجيه من A (المصدر) إلى C (الوسيط). قم بتطبيق الإعدادات من ص 2 و 3 عليها:
/settingchannel A author full
/filter A mustHave @user

بعد ذلك، قم بإعداد إعادة التوجيه من C (متوسط) إلى B (الوجهة). لقد وضعنا قاعدة بديلة في عملية إعادة التوجيه هذه (مع ملحق/replace أمر)، مما سيؤدي إلى إزالة أسماء المؤلفين.
/replace B @user&nbsp;(User's&nbsp;name)

منتهي! إذا قمت بتعيين قاعدة الاستبدال هذه لإعادة التوجيه الأولى (من A إلى C)، فلن يؤثر ذلك على اسم المؤلف. اسم المؤلف، مثل اسم القناة المصدر، هو نص خدمة ولا يتأثر/replace الأمر، ويمكن تعديلها بطرق أخرى.

تصفية المشاركات المعاد توجيهها

يمكنك جعل Junction Bot يقوم بتصفية رسائل Telegram ، التي تم إعادة توجيهها إلى القناة المصدر. لنفترض أن @source هو القناة المصدر. لنسخ الرسائل الأصلية @source فقط، وليس الرسائل المعاد توجيهها إلى @source من قنوات أخرى، قم بما يلي:

  1. قم بإنشاء قاعدة إعادة توجيه جديدة باستخدام الأمر /new
  2. قم بتشغيل نسخ أسماء المؤلفين باستخدام الأمر
    /settingchannel source_channel_reference header from_only
    سيتم إضافة جزء من النص في بداية الرسالة المعاد توجيهها: “من” + اسم القناة.
  3. قم بإعداد الفلتر لاسم القناة التي تريد تصفيتها. على سبيل المثال، إذا كانت المشاركات المعاد توجيهها تأتي من قناة تسمى “مصدر إعادة التوجيه”
    /filter source_channel_reference mustNotHave from Source of forwards
    إذا كنت تريد التخلص من المنشورات المعاد توجيهها من أي قناة أخرى، فأنت بحاجة إلى أمر مختلف قليلاً:
    /filter source_channel_reference mustNotHave from

تصفية الذكاء الاصطناعي

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

كيفية إعداد هذا، انظر هنا .

التصفية اليدوية

إذا كنت تريد التحكم يدويًا في ما إذا كان يجب نسخ المشاركات أو تخطيها، فاستخدم وضع المراجعة .

معرفة ما لا يعمل

تحقق من المرشحات الحالية ومن صحتها:

/filter source_channel_reference
/filterrx source_channel_reference

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

/settingchannelsource_channel_reference شرح على

إذا تم تمكينه، فسوف تتلقى تقريرًا عن كل رسالة جديدة تأتي من قناة source_channel هذه. سيشرح التقرير سبب تصفية هذه الرسالة أو السماح لها بالمرور.

لتعطيل وضع الشرح استخدم الأمر

/settingchannelsource_channel_reference شرح قبالة