همهٔ نوشته‌ها
17 دقیقه خواندن

چگونه در گروه تلگرام فیلتر واژه‌ها را تنظیم کنیم

بات پیام‌های دارای واژه‌های موردنظر را حذف می‌کند. چطور چنین قانونی را از چند واژه بسازید، مترادف‌ها و استثناها بیفزایید و پیش از روشن‌کردن بررسی کنید.

دیر یا زود در هر گفت‌وگوی زنده‌ای همان چیزها تکرار می‌شود: «خصوصی پیام بده»، «اکانت می‌فروشم»، آگهی‌های تبادل رمزارز. پاک‌کردن این‌ها با دست خسته‌کننده است و نگه‌داشتن یک ناظر بیدار در تمام شبانه‌روز هم بی‌معناست — از پس چنین تبلیغ و هرزنامه‌ای فیلتر واژه‌ها برمی‌آید: بات خودش پیام‌هایی را که واژه‌های موردنظر در آن‌ها پیدا شده حذف می‌کند.

در Scarabeus نام این فیلتر مدیریت عبارت‌هاست. برخلاف قانون‌های هوش مصنوعی، اینجا حدس‌وگمانی در کار نیست: یا قانون واژه‌ها را در پیام یافته است یا نیافته. به همین دلیل عبارت‌ها جایی به کار می‌آیند که شکل بیان قابل پیش‌بینی باشد و خطا گران تمام شود.

سازنده مثل مجموعه‌ای از بخش‌های به‌هم‌پیوسته دیده می‌شود. در ادامه می‌خوانید هر پیوند چه معنایی دارد، چگونه با هم ترکیب می‌شوند و چرا همان قانون گاهی جور دیگری از آنچه انتظار دارید رفتار می‌کند. همهٔ نتیجه‌های «می‌گیرد» و «رد می‌کند» روی همان موتوری سنجیده شده‌اند که درون بات کار می‌کند.

واژه‌های ممنوع گروه تلگرام کجا تنظیم می‌شوند#

بخش مدیریت محتوا ← کارت «مدیریت عبارت‌ها». کلیدی که کل بلوک را روشن و خاموش می‌کند روی خود کارت است و دکمهٔ «پیکربندی» مجموعه‌های قانون را باز می‌کند.

کارت «مدیریت عبارت‌ها» در بخش مدیریت محتوا

خلاصهٔ روی کارت بی‌درنگ نشان می‌دهد چند مجموعه و قانون روشن است و در چند مجموعه هنوز تنبیهی تعیین نشده.

قانون‌ها درون مجموعه‌ها زندگی می‌کنند. مجموعه یک بستهٔ موضوعی است: «رمزارز»، «تبلیغ کانال»، «ناسزا». این تقسیم‌بندی تزئینی نیست: زنجیرهٔ تنبیه به مجموعه تعلق دارد، بنابراین تبلیغ و توهین می‌توانند تنبیه‌های متفاوتی بگیرند و شمارنده‌های تخلفشان با هم قاطی نشود.

نخستین قانون را چگونه بسازیم#

درون یک مجموعه «افزودن قانون» را بزنید. قانون از دو گونه بخش ساخته می‌شود:

  • عبارت — واژه‌های مشخصی که در پیام جست‌وجو می‌شوند؛
  • عدد — هر دنبالهٔ رقمی، که با عنوان «هر عدد» نشان داده می‌شود.

میان بخش‌های همسایه همیشه یک پیوند هست: یا و یا و. دکمهٔ «افزودن بخش» تکهٔ بعدی را می‌افزاید و «گروه‌بندی» بخش‌های همسایه را در یک گروه می‌گذارد.

ویرایشگر قانون: گروه «buy یا sell»، پیوند «و» با فاصلهٔ ۱۰ و عبارت «crypto»

بالای ویرایشگر همیشه یک پیش‌نمایش آویزان است — نشان می‌دهد قانون در عمل چگونه خوانده خواهد شد.

مجموعهٔ «رمزارز» را نمونه بگیریم: در گفت‌وگویی دربارهٔ بازی‌های رومیزی آگهی تبدیل ارز به کار نمی‌آید. ساده‌ترین قانونِ کارآمد یک عبارت است:

این قانون آگهی‌های مستقیم را می‌گیرد و هر چه را جور دیگری بیان شده رد می‌کند. از همین‌جا آن چیزی آغاز می‌شود که سازنده برایش لازم است.

و — هر دو بخش باید در پیام باشند#

پیوند و یعنی هر دو بخش باید در متن بیایند. کنار پیوند فیلد «تا n نویسه» پدیدار می‌شود: بیشترین فاصلهٔ میان آن‌ها.

  • می‌گیرد: “swap usdt at a good rate”.
  • می‌گیرد: “usdt for swap” — بدون ترتیب سخت‌گیرانه مهم نیست کدام واژه اول بیاید.
  • رد می‌کند: “swap stickers happens every friday at our board game club, and questions about usdt belong in another chat” — میان واژه‌ها بیش از ۴۰ نویسه فاصله است.

یا — هر کدام از بخش‌ها کافی است#

پیوند یا وقتی کار می‌کند که دست‌کم یکی از بخش‌های همسایه پیدا شود:

  • می‌گیرد: “buying a couch” — «یا» جز یکی از آن واژه‌ها چیزی نمی‌خواهد، پس چنین قانونی بسیار گسترده است.
  • رد می‌کند: “trading cards”.

یک نکتهٔ مهم: «یا» سفت‌تر از «و» می‌بندد. این قانون:

چنین خوانده می‌شود: «swap یا p2p — و کنارش usdt»، نه «یا swap، یا p2p کنار usdt». اگر همان پیوند را صریح بنویسیم، این‌طور می‌شود:

  • رد می‌کند: “swap stickers” — واژهٔ “swap” به‌تنهایی چیزی نمی‌گیرد، آن هم به “usdt” نزدیکش نیاز دارد.
  • می‌گیرد: “p2p usdt” و “swap usdt”.

اگر گروه‌بندی دیگری می‌خواهید، بخش‌ها را با دکمهٔ «گروه‌بندی» انتخاب کنید: آنگاه نخست تطابق درون گروه جست‌وجو می‌شود و سپس نتیجهٔ آن با بخش‌های دیگر پیوند می‌خورد. یک قانون می‌تواند چند گروه داشته باشد، اما گروه درون گروه مجاز نیست.

عدد — هر رقمی#

بخش «هر عدد» جای هر دنبالهٔ رقمی می‌نشیند: مبلغ‌ها، تعدادها، شماره‌ها. آنجا لازم می‌شود که واژه‌ها قابل پیش‌بینی باشند ولی رقم‌ها نه:

  • می‌گیرد: “selling for 500”، “giving away 2 pieces”.
  • رد می‌کند: “selling advice” — رقمی در آن نیست.

«تا n نویسه»: دو دام#

نخست: ۰ یعنی «بدون محدودیت»، نه «چسبیده به هم». این رایج‌ترین خطاست. با ۰ کافی است بخش‌ها جایی در پیام به هم برسند — حتی یکی در سطر نخست و دیگری در سطر آخر.

دوم: فاصله روی متنی شمرده می‌شود که فاصله‌هایش پیش‌تر برداشته شده‌اند.

  • می‌گیرد: “notcrypto”، “not crypto” و “not crypto” — فاصله‌ها پیش از بررسی ناپدید می‌شوند، پس در هر سه حالت فاصله صفر است.

از همین رو این محدودیت بسیار بیشتر از آنچه به چشم می‌آید را دربر می‌گیرد: ۴۰ نویسه بدون فاصله تقریباً شش‌ـ‌هفت واژه است.

ترتیب سخت‌گیرانه#

به‌طور پیش‌فرض پیوند «و» به ترتیب کاری ندارد — مانند نمونهٔ “usdt for swap” در بالا. گزینهٔ «ترتیب سخت‌گیرانه» می‌خواهد بخش‌ها در متن از چپ به راست بیایند، درست به همان ترتیبی که در فرم چیده شده‌اند. در نمودار، ترتیب سخت‌گیرانه با علامت تعجب نشان داده می‌شود:

  • می‌گیرد: “buying usdt”.
  • رد می‌کند: “usdt buying”.

ترتیب سخت‌گیرانه را می‌توان برای کل قانون یا فقط برای یک گروه روشن کرد.

استثناها#

گزینهٔ «استثنا» یک بخش را به شرطی تبدیل می‌کند که کارکرد قانون را لغو می‌کند. استثنا بخشی عادی از زنجیره می‌ماند — با پیوند خودش، مانند بقیه — و تنها با رنگش فرق دارد. اینکه دقیقاً چه چیزی را لغو می‌کند به سطحش بستگی دارد.

استثنا در بالاترین سطح کل قانون را لغو می‌کند. نخست بخش اصلی بررسی می‌شود و اگر تطابق داشته باشد ولی استثنا جایی در پیام پیدا شود، قانون عمل نمی‌کند. نمونه‌اش مجموعهٔ «تبلیغ کانال» است، جایی که اعلان‌های خودتان نباید گرفتار شوند:

  • می‌گیرد: “subscribe to the channel”.
  • استثنا لغو می‌کند: “subscribe to our channel”.
  • استثنا لغو می‌کند: “our channel: subscribe to the channel” — مهم نیست استثنا در کجای پیام آمده باشد.

اگر گونه‌های «خودی» چند تا باشند، استثنا روی کل گروه گذاشته می‌شود — آنگاه هر کدامشان کارکرد قانون را لغو می‌کند:

  • استثنا لغو می‌کند: “subscribe to the official channel”.
  • می‌گیرد: “subscribe to the channel”.

استثنای درون یک گروه تنها همان گروه را خاموش می‌کند و شاخه‌های دیگرِ «یا» در بیرون آن به کار خود ادامه می‌دهند. اینکه در عمل چگونه دیده می‌شود، در بخش ترکیب‌ها در پایین آمده است.

در هر سطح یک استثنا مجاز است و استثنای تودرتو ممنوع است.

ترکیب‌ها: بخش‌ها چگونه با هم کار می‌کنند#

پیوندها تک‌به‌تک روشن‌اند؛ شگفتی‌ها وقتی آغاز می‌شود که آن‌ها را ترکیب کنید. و درست همین ترکیب‌هاست که برای پاک‌کردن تبلیغ و هرزنامه بدون دست‌زدن به گفت‌وگوهای معمولی لازم است. در ادامه ترکیب‌های اصلی و واکنش قانون به آن‌ها آمده است.

گروهی با «و» درون «یا»#

گروه می‌تواند خودش یک پیوند «و» باشد — آنگاه یکپارچه به یکی از شاخه‌های «یا» تبدیل می‌شود:

  • می‌گیرد: “buying usdt” — گروه عمل کرد.
  • می‌گیرد: “any p2p here?” — شاخهٔ دوم عمل کرد و گروه لازم نشد.
  • رد می‌کند: “buying a couch” — در گروه “usdt” کم است و “p2p” هم نیست.

زنجیره‌ای از سه بخش#

پیوندهای «و» را می‌توان پشت‌سرهم گذاشت و هر کدام فاصلهٔ خود را دارد. قانون تنها وقتی عمل می‌کند که همهٔ بخش‌ها پیدا شوند:

  • می‌گیرد: “selling telegram account”.
  • رد می‌کند: “selling an account” — یک بخش کم است.

دو گروه با «و»#

گروه‌ها می‌توانند چند تا باشند — مثلاً مترادف‌ها در هر دو سو:

  • می‌گیرد: “p2p btc”، “swap usdt” — هر واژه‌ای از گروه نخست کنار هر واژه‌ای از گروه دوم.
  • رد می‌کند: “swap stamps”.

ترتیب سخت‌گیرانه بدون محدودیت فاصله#

ترتیب سخت‌گیرانه و فاصله از هم مستقل‌اند. با صفر، ترتیب مهم است ولی فاصله نه:

  • می‌گیرد: “swap stickers, and at the very end about usdt”.
  • رد می‌کند: “usdt first, swap later”.

ترتیب سخت‌گیرانه فقط درون گروه#

می‌توان ترتیب را تنها از یک گروه خواست و بقیهٔ قانون را آزاد گذاشت:

  • می‌گیرد: “buying usdt”.
  • رد می‌کند: “usdt buying” — درون گروه ترتیب شکسته است.
  • می‌گیرد: “usdt buying via p2p” — گروه عمل نکرد، اما شاخهٔ “p2p” عمل کرد.

عدد در آغاز#

عدد می‌تواند هرجای زنجیره بایستد. همراه با ترتیب سخت‌گیرانه، این امکان می‌دهد الگوی «مبلغ، سپس ارز» را بگیرید بی‌آنکه به ترتیب وارونه دست بزنید:

  • می‌گیرد: “500 usdt”.
  • رد می‌کند: “usdt 500”.

استثنا درون یک گروه#

ظریف‌ترین حالت: استثنا تنها گروه خودش را خاموش می‌کند و شاخهٔ همسایهٔ «یا» زندگی خودش را دارد:

  • می‌گیرد: “swap usdt” — گروه عمل کرد و استثنایی در کار نیست.
  • استثنا لغو می‌کند: “swap stickers” — گروه خاموش شد و شاخهٔ دیگری هم در پیام نیست.
  • می‌گیرد: “swap stickers and p2p” — گروه خاموش شد، اما شاخهٔ “p2p” خودش عمل کرد.

ترتیب سخت‌گیرانه و استثنا#

استثنا در ترتیب شرکت نمی‌کند: ترتیب سخت‌گیرانه بخش‌های اصلی را بررسی می‌کند و استثنا در سراسر پیام جست‌وجو می‌شود:

  • می‌گیرد: “buying usdt”.
  • استثنا لغو می‌کند: “buying from you usdt”.

چرا قانون جور دیگری عمل می‌کند: پیش از بررسی چه بر سر متن می‌آید#

این بخش کلیدی است: نیمی از شگفتی‌ها دقیقاً با همین توضیح داده می‌شود. هم قانون و هم پیام به یک شکل واحد درمی‌آیند و تنها پس از آن با هم سنجیده می‌شوند:

  1. متن به حروف کوچک تبدیل می‌شود — کوچک و بزرگی حروف هرگز مهم نیست؛
  2. ایموجی‌ها حذف می‌شوند؛
  3. نشانه‌های نگارشی و نمادها با فاصله جایگزین می‌شوند؛
  4. جابه‌جایی حروف شناسایی می‌شود: در واژه‌هایی که الفباها یا حروف و رقم‌ها در هم آمیخته‌اند، نویسه‌های بیگانه به جای خود بازگردانده می‌شوند — “go0ds” همان “goods” خوانده می‌شود و “cаnal” با «а»ی سیریلیک همان “canal”. دنبالهٔ رقم‌ها دست‌نخورده می‌ماند، پس “100” همان “100” است — و “g00ds” با دو صفر پشت سر هم نیز تغییر نمی‌کند؛
  5. همهٔ فاصله‌ها حذف می‌شوند.

از اینجا سه نتیجه به دست می‌آید که به یاد سپردنشان می‌ارزد:

  • جست‌وجو روی زیررشته انجام می‌شود و مرز واژه‌ای در کار نیست. عبارت ban درون “banana” و “urban” پیدا می‌شود. عبارت‌های کوتاه را تقریباً همیشه باید با پیوند «و» دقیق‌تر کرد یا با عبارت‌های بلندتر جایگزین کرد.
  • فاصله‌ها و نشانه‌های درون عبارت مانعی نیستند. قانون spam روی “s p a m” و “s.p.a.m” هم عمل می‌کند.
  • عبارتی که تنها از ایموجی یا نشانهٔ نگارشی ساخته شده باشد هرگز عمل نمی‌کند — پس از یکسان‌سازی چیزی از آن نمی‌ماند.

قانون را پیش از به‌کار افتادن بررسی کنید#

پایین ویرایشگر کارت «بررسی قانون» هست. در فیلد «متن برای بررسی» یک پیام واقعی بچسبانید و «بررسی» را بزنید.

آنچه بررسی می‌شود پیش‌نویسی است که هم‌اکنون در فرم باز است — نیازی به ذخیرهٔ قانون نیست. این کار تنبیهی به بار نمی‌آورد و در گزارش هم ثبت نمی‌شود. پاسخ سه گونه است:

  • «متن از مدیریت عبور نمی‌کند» — قانون عمل می‌کرد؛
  • «متن از مدیریت عبور می‌کند» — عمل نکرد؛ پایین‌تر فهرست می‌شود که دقیقاً چه چیزی کم بوده: «در متن پیدا نشد: …»؛
  • «متن از مدیریت عبور می‌کند» و در عین حال استثنا برجسته شده — قانون عمل کرد، اما استثنا آن را لغو کرد.

برجسته‌سازی متن را پس از یکسان‌سازی نشان می‌دهد: بدون فاصله، بدون ایموجی و بدون نشانه‌های نگارشی. ناآشنا به نظر می‌رسد، اما بی‌درنگ پیداست بات در واقع چه چیزی را می‌سنجد.

کارت «بررسی قانون»: متن “sell crypto” از مدیریت عبور نمی‌کند

بررسی چیزی را ذخیره نمی‌کند و کسی را تنبیه نمی‌کند — تنها نشان می‌دهد قانون روی این متن عمل می‌کرد یا نه.

چرا قانون پیام‌ها را حذف نمی‌کند: تنبیه‌ها در مجموعه تعیین می‌شوند#

زنجیرهٔ تنبیه تنها در مجموعه تعیین می‌شود: «پس از N تخلف — اخطار، پس از بعدی — سکوت» و همین‌طور ادامه دارد. نه قانون تکی و نه کل بلوک زنجیرهٔ خودشان را ندارند — مجموعه دقیقاً همان واحدی است که سخت‌گیری به آن سپرده می‌شود. به همین دلیل ارزش دارد قانون‌ها را میان مجموعه‌ها تقسیم کنید: «رمزارز»، «تبلیغ کانال» و «ناسزا» تنبیه‌های متفاوتی می‌گیرند.

مجموعهٔ «Profanity»: دو قانون و زنجیرهٔ «بدون تنبیه ← اخطار ← سکوت»

قانون‌های مجموعه به‌صورت فهرست دیده می‌شوند و پایین کارت زنجیرهٔ تنبیه آن قرار دارد.

اگر در مجموعه تنبیهی تنظیم نشده باشد، قانون‌های آن اصلاً عمل نمی‌کنند — و در گزارش حتی یک سطر هم پدیدار نمی‌شود. مجموعه آماده به نظر می‌رسد، ولی در واقع کاری نمی‌کند. اگر قانونی «نمی‌گیرد»، پیش از هر چیز باید همین را بررسی کرد.

گزینهٔ «شمارنده تخلف جداگانه» در ویرایشگر قانون وقتی لازم است که یک قانون نباید بقیه را با خود بکشد: عمل‌کردن‌هایش جداگانه شمرده می‌شود و شمارندهٔ مشترک مجموعه را جابه‌جا نمی‌کند. روی دیگر سکه: با خاموش‌کردن این گزینه، شمارندهٔ انباشتهٔ این قانون پاک می‌شود و تشدید از نو آغاز می‌شود.

چه چیزی و چه زمانی بررسی می‌شود#

  • متن پیام و شرح رسانه بررسی می‌شود. پیام‌های بدون متن اصلاً به لایه‌های متنی نمی‌رسند.
  • پیام‌های ویرایش‌شده دوباره بررسی می‌شوند — اصلاح‌کردن نجات نمی‌دهد.
  • مدیران گفت‌وگو و اعضای فهرست سفید پیش از همهٔ بررسی‌ها کنار گذاشته می‌شوند: نه عمل‌کردنی، نه شمارنده‌ای.
  • لایه‌ها به نوبت پیش می‌روند: طول ← تکراری‌ها ← عبارت‌ها ← عبارت‌های باقاعده ← پیوندها. نخستین لایه‌ای که عمل کند بررسی را پایان می‌دهد، پس پیامی که با طول یا تکراری‌بودن گرفته شود اصلاً به عبارت‌ها نمی‌رسد.
  • اگر چند قانون عبارتی عمل کنند، نخستینِ آن‌ها به ترتیب حساب می‌شود — مجموعه و در نتیجه زنجیرهٔ تنبیه از همان گرفته می‌شود.

در گزارش مدیریت، این عمل‌کردن به شکل «عبارت‌ها: نام مجموعه» نمایش داده می‌شود؛ همان‌جا هم پیداست کدام قانون تطابق داشته و کاربر روی کدام پلهٔ تشدید ایستاده است.

محدودیت‌های طرح‌ها#

در طرح محدود هم‌زمان حداکثر ده قانون عبارتی کار می‌کند: کلید روی کارت مجموعه انتخاب می‌کند کدام‌یک فعال باشند. شمار خود مجموعه‌ها محدود نیست. در Base محدودیتی برای عبارت‌ها نیست و همان‌جا عبارت‌های باقاعده و تنظیمات جداگانه برای موضوع‌های انجمن هم در دسترس است. اینکه هر طرح شامل چیست در صفحهٔ قیمت‌ها آمده.

پرسش‌های پرتکرار#

قانون‌های عبارتی با واژه‌های ممنوع معمولی چه فرقی دارند؟

واژهٔ ممنوع به‌خودی‌خود ممنوع است. اما قانون عبارتی می‌تواند بخواهد چند واژه کنار هم باشند، با «یا» مترادف‌ها را بپذیرد، ترتیب را در نظر بگیرد و اگر در پیام استثنایی پیدا شد خاموش بماند. به همین دلیل بسیار کمتر به گفت‌وگوهای معمولی دست می‌زند.

چطور ناسزا را در گفت‌وگوی تلگرام مسدود کنیم؟

مجموعه‌ای جداگانه بسازید — مثلاً «زبان رکیک» — در آن قانون‌هایی با گونه‌های نگارشی و پیوند «یا» گرد آورید و به مجموعه زنجیرهٔ تنبیه بدهید. تا وقتی مجموعه تنبیهی نداشته باشد، قانون‌هایش عمل نمی‌کنند.

چرا قانون من چیزی را حذف نمی‌کند؟

بیشتر وقت‌ها زنجیرهٔ تنبیه در مجموعه تنظیم نشده است. دلیل‌های دیگر: بلوک «مدیریت عبارت‌ها» خاموش است؛ پیام را لایه‌ای پیش‌تر گرفته — طول یا تکراری‌بودن؛ نویسنده مدیر گفت‌وگو یا عضو فهرست سفید بوده؛ در طرح محدود آن قانون جزو ده قانون فعال نبوده است.

آیا واژه‌هایی با فاصله و حروف جابه‌جاشده گرفته می‌شوند؟

بله. پیش از بررسی، فاصله‌ها، ایموجی‌ها و نشانه‌های نگارشی از متن برداشته می‌شوند و رقم‌های اضافی یا حروف الفبای دیگر که درون واژه جا داده شده‌اند به جای خود بازمی‌گردند. به همین دلیل “s p a m”، “s.p.a.m” و “spam” برای قانون یکی هستند.

آیا شرح عکس‌ها و پیام‌های ویرایش‌شده بررسی می‌شوند؟

بله. قانون‌ها به متن پیام و شرح رسانه نگاه می‌کنند و پیام ویرایش‌شده دوباره بررسی می‌شود — اصلاح‌کردن نجاتش نمی‌دهد.

سیاههٔ کوتاه بررسی#

  • به مجموعه زنجیرهٔ تنبیه داده شده — وگرنه قانون‌ها خاموش می‌مانند.
  • اگر منظورتان «کنار هم» بوده، مقدار «تا n نویسه» صفر نیست.
  • اگر ترتیب واژه‌ها مهم است، «ترتیب سخت‌گیرانه» روشن است.
  • عبارت‌های کوتاه مانند ban با پیوند «و» دقیق‌تر شده‌اند تا “banana” را نگیرند.
  • قانون در کارت «بررسی قانون» روی یک پیام واقعی آزموده شده است.
  • اعلان‌های خودتان در استثنا گذاشته شده‌اند.

راهنماهای دیگر دربارهٔ مدیریت گروه‌های تلگرام در ژورنال Scarabeus هستند.

خواندن بعدی