Усе пасты
3 хв чытання

Рэгулярныя выразы для мадэрацыі Telegram: прыклады

Калі фразавых правілаў мала: нумары картак, падмененыя літары, інвайт-спасылкі. Гатовыя выразы і як праверыць свой да ўключэння ў чаце.

Фразавая мадэрацыя закрывае пераважную большасць задач і не патрабуе нічога, акрамя слоў. Але ёсць клас парушэнняў, які словамі не апісаць: шаблон, а не тэкст. Нумар карткі. Інвайт-спасылка з адвольным хвастом. Слова, у якім кожную другую літару замянілі падобнай лацінкай.

Для гэтага ёсць блок Regex.

Дзе гэта наладжваецца#

Раздзел Мадэрацыя → картка Regex. Правілы складаюцца ў наборы, як і фразы, і ў набору свой ланцужок пакаранняў.

Блок Regex у наладах мадэрацыі

Блок даступны на Базавым тарыфе; на Абмежаваным яго няма.

У правіла ёсць імя, сам выраз і сцягі. Імя варта пісаць чалавечае — яно трапіць у журнал мадэрацыі, і праз месяц «Правіла 4» вам нічога не скажа.

Гатовыя прыклады#

Ніжэй тое, што часцей за ўсё просяць. Праверце на сваіх паведамленнях, перш чым уключаць: чужы чат — не ваш чат.

Нумар банкаўскай карткі — шаснаццаць лічбаў групамі, з любымі падзельнікамі:

\b\d{4}[ \-]?\d{4}[ \-]?\d{4}[ \-]?\d{4}\b

Прыватная інвайт-спасылка Telegram — тая, якую не злавіць даменным правілам, бо дамен легальны:

t\.me/\+[A-Za-z0-9_-]{10,}

Нумар тэлефона ў міжнародным фармаце:

\+\d{1,3}[ \-(]?\d{2,4}[ \-)]?\d{2,4}[ \-]?\d{2,4}

Паведамленне капсам — некалькі доўгіх слоў вялікімі літарамі запар:

[А-ЯЁA-Z]{5,}(\s+[А-ЯЁA-Z]{3,}){3,}

Слова з падмененымі літарамі — класічны прыём абыходу стоп-слоў, калі кірылічную «о» пішуць лацінкай:

[кk][рpr][иi][пp][тt][оo0]

Кашалёк TRON — адрасы USDT, якія спамеры кідаюць у чат:

\bT[A-Za-z1-9]{33}\b

Як не стрэліць сабе ў нагу#

Рэгулярны выраз не ведае кантэксту і ловіць роўна тое, што напісана. Тры правілы, якія эканомяць нервы.

Правярайце на жывых паведамленнях. Вазьміце дзясятак сапраўдных паведамленняў са свайго чата — і спамных, і звычайных — і праганіце правіла на іх, перш чым уключаць.

Стаўце межы слова. \bспам\b не закране «антыспам» і «спамер», а голае спам закране.

Пачынайце з мяккай санкцыі. Першы час трымайце набор на «выдаліць і папярэдзіць», паглядзіце журнал мадэрацыі праз пару дзён і толькі потым дадавайце муты.

І агульнае меркаванне: калі задачу можна вырашыць фразавым правілам — вырашайце ім. Фразы чытаюцца, рэдагуюцца калегам і не ламаюцца ад лішняй дужкі. Regex варта даставаць тады, калі фраз сапраўды не хапае.

Чым regex адрозніваецца ад фраз#

Фразавае правіла працуе па нармалізаваным тэксце: перад праверкай з паведамлення прыбіраюцца прабелы, эмодзі і знакі прыпынку, а падмененая лацінка вяртаецца да кірыліцы. Таму «с п а м» і «спам» для яго адно і тое ж.

Regex глядзіць на тэкст бліжэй да зыходнага выгляду — у гэтым і сіла, і слабасць. Сіла: можна апісаць структуру, якую нармалізацыя б сцерла. Слабасць: прыёмы абыходу, ад якіх фразы абаронены па змаўчанні, тут давядзецца прадугледзець рукамі.

Калі regex здаецца залішнім, пачніце з простага: як абараніць Telegram-групу ад спаму.

Чым regex-правілы адрозніваюцца ад мадэрацыі па фразах?

Фразы апісваюць словы і іх спалучэнні і працуюць па нармалізаваным тэксце, дзе прыбраны прабелы і падмененыя літары. Regex апісвае структуру — нумар, спасылку, шаблон — і глядзіць тэкст бліжэй да зыходнага. Калі задача вырашаецца фразамі, лепш вырашаць імі.

Regex даступны на бясплатным тарыфе?

Не, блок Regex уваходзіць у Базавы тарыф. На Абмежаваным даступныя фразы, спасылкі, даўжыня, дублікаты, службовыя паведамленні і белы спіс.

Як праверыць выраз, не ўключаючы яго ў чаце?

Праверце яго на тэставых радках пры захаванні правіла, а першы час трымайце набор на мяккай санкцыі — «выдаліць і папярэдзіць» — і глядзіце журнал мадэрацыі.

Ці можна караць за розныя regex-правілы па-рознаму?

Так. Правілы складаюцца ў наборы, а ланцужок пакаранняў прывязаны да набору.

Чытаць далей