SPAM FIX
- убрал из констант СПАМ то, что и так проверялось смешением алфавита или более общим паттерном - написал побольше тестов - нагенерил на основе тестов еще выриантов призыва в личку
This commit is contained in:
+12
-12
@@ -49,18 +49,18 @@ RULES = types.InlineKeyboardButton("🟡 Правила чата", url="https://
|
||||
FAQ = types.InlineKeyboardButton("🔵 Частые вопросы", url="https://telegra.ph/faq-10-07-4")
|
||||
LIB = types.InlineKeyboardButton("📚 Книги", url="https://telegra.ph/what-to-read-10-06")
|
||||
|
||||
SPAM = {"me.sv/", "tg.sv/", "goo.by/", "go.sv/", "intim.video/", "uclck.ru/", 'раб0т',
|
||||
'0плат', 'Жду в ЛС', 'новый способ заработка', 'криптовалют', 'цифровых валют',
|
||||
'Binance', 'ByBit', 'Помогу заработать', 'подробнее в лс', 'арбитраж', 'напиши в личку',
|
||||
'DEX бирж', 'пишите в ЛС', 'Писать в ЛИЧКУ!', 'любую девушку', 'Пишите в личку',
|
||||
'прибыль у вaс', 'обучaю быстро', 'в л.с.', 'вопросам в ЛС', 'Предлагаю новый вид заработка',
|
||||
'пишите мне в ЛС', 'Писать в ЛС', 'межбиржев', 'КУПЮРЫ', '💎', 'kрипт', 'биpж', 'apбитpaж',
|
||||
'в неделю выходит до', 'предложить заработок', 'голые фот', '🔞', 'интимные фот', '➡️',
|
||||
'заработка в крипте', 'Веду набор', 'Идёт набор', 'мне в ЛС', 'Доход от', 'Trading',
|
||||
'P2P', 'Идет набор', 'в лс', 'нaбop', 'комaндy', 'kpuпт', 'бupж', '💰', 'пишитe', '💸',
|
||||
'$ в неделю', 'обучаю с нуля', 'доходы для всех', 'по трейдингу', 'фальшивые рубли', '‼️',
|
||||
'зароботку', 'Набuраю', 'цuфр', 'Обучу вас', 'прuб', 'остались курсы', 'Crypt', 'kр', 'рu',
|
||||
'в лc', "в личные сообще"}
|
||||
SPAM = {"me.sv/", "tg.sv/", "goo.by/", "go.sv/", "intim.video/", "uclck.ru/",
|
||||
'💎', '🔞', '➡️', '💰', '💸', '‼️',
|
||||
'раб0т', '0плат', 'новый способ заработка', 'криптовалют', 'цифровых валют', 'Binance', 'ByBit',
|
||||
'Помогу заработать', 'арбитраж', 'DEX бирж', 'любую девушку', 'прибыль у вaс', 'обучaю быстро',
|
||||
'Предлагаю новый вид заработка', 'межбиржев', 'КУПЮРЫ', 'биpж', 'apбитpaж', 'в неделю выходит до',
|
||||
'предложить заработок', 'голые фот', 'интимные фот', 'заработка в крипте', 'Веду набор', 'Идёт набор',
|
||||
'Доход от', 'Trading', 'P2P', 'Идет набор', '$ в неделю', 'обучаю с нуля', 'доходы для всех',
|
||||
'по трейдингу', 'фальшивые рубли', 'зароботку', 'Обучу вас', 'остались курсы', 'Crypt',
|
||||
|
||||
'в лc', "в личные сообще", 'напиши в личку', 'Писать в ЛИЧКУ!', 'Пишите в личку', 'в л.с.', 'в лс',
|
||||
'Писать в личные'
|
||||
}
|
||||
|
||||
NON_GRATA = {"дудар", "хауди", "dudar"}
|
||||
BAN_WORDS = {"GREEN"}
|
||||
|
||||
+41
-3
@@ -4,13 +4,35 @@ from src.constants import SPAM, BAN_WORDS, ADMIN_ID, RULES_TEXT
|
||||
from src.helpers import is_spam, is_mixed, is_ban_words_in_caption, is_in_not_allowed, is_nongrata, is_admin, \
|
||||
fetch_rule, cleaned_text, remove_spaces, has_no_letters
|
||||
|
||||
CASES = (
|
||||
REAL_CASES = (
|
||||
"Оформим резидeнтствo ОАЭ без предoплаты за 5000 дирхам. Пoдробнoсти в лc",
|
||||
"Всем привет Я в поисках людей в kpиптo кoмaнду У нас вы пройдете 6ecплaтноe обученue 1-3 дня Можно совмещать с основной paбoтoй",
|
||||
"Здравствуйте! Нужны 2 человека от 200 $/день. Можно без опыта Пишите в личные сообщения +",
|
||||
"Здравствуйте!Нужны 2 человека от 200 $/день.Пишите в личные сообщение +"
|
||||
"Здравствуйте!Нужны 2 человека от 200 $/день.Пишите в личные сообщение +",
|
||||
|
||||
f"🙌Присоединяйтесь к нашей команде и освойте мир цифровой валюты совершенно бесплатно! Низкий порог входа "
|
||||
f"позволяет каждому воплотить свои финансовые амбиции. У нас - не просто обучение, а возможность изменить свое "
|
||||
f"финансовое будущее. Прокачайте свои навыки вместе с нами!Писать в личные✌️",
|
||||
)
|
||||
|
||||
TEST_CASES = ('here it me.sv/122', "My site is tg.sv/home", "look here goo.by/home", "Go there go.sv/home",
|
||||
"I am here intim.video/home", "Here ckick it uclck.ru/home", 'WOW💎', 'Attention 🔞', 'Look here ➡️',
|
||||
'Money for you💰', 'Some cash💸', 'Real money‼️', 'Много раб0т', '0плата гарантируется',
|
||||
'для вас новый способ заработка', 'в сфере криптовалют', 'в сфере цифровых валют', 'на бирже Binance',
|
||||
'на бирже ByBit', 'Помогу заработать денег', 'арбитраж вам нужен', 'DEX биржи', 'любую девушку можно',
|
||||
'прибыль у вaс в кармане', 'обучaю быстро и бесплатно', 'Предлагаю новый вид заработка',
|
||||
'межбиржевой круг', 'КУПЮРЫ как настоящие', 'kрипта форева', 'биpжа ждет', 'apбитpaж валют',
|
||||
'в неделю выходит до 100', 'хочу предложить заработок', 'голые фотки баб', 'интимные фото девчат',
|
||||
'заработка в крипте много не бывает', 'Веду набор в команде', 'Идёт набор ко мне', 'Доход от 100',
|
||||
'Trading это круто', 'P2P бойз', 'Идет набор куда то', 'нaбop номера', 'в комaндy', 'kpuпта есть',
|
||||
'бupжы рулят', 'пишитe всем', 'ноль $ в неделю', 'обучаю с нуля и единицы', 'доходы для всех парней',
|
||||
'по трейдингу пройдем', 'фальшивые рубли это зло', 'зароботку в нете', 'Набuраю номера', 'цuфры есть?',
|
||||
'Обучу вас плясать', 'прuбором владею', 'остались курсы по шитью', 'Cryptограф', 'kристалл', 'рuсовать',
|
||||
'в лc пиши', "в личные сообщения пиши", 'Жду в ЛС ребят', 'подробнее в лс напишу', 'напиши в личку друг',
|
||||
'пишите в ЛС парни', 'Писать в ЛИЧКУ! ура!', 'Пишите в личку админу', 'в л.с. кпсс', 'по вопросам в ЛС',
|
||||
'пишите мне в ЛС девчата', 'Писать в ЛС не нужно', 'мне в ЛС не пишите', 'в лс пишите', 'Писать в личные'
|
||||
)
|
||||
|
||||
|
||||
class TestSpam(TestCase):
|
||||
def test_simple(self):
|
||||
@@ -19,7 +41,12 @@ class TestSpam(TestCase):
|
||||
self.assertTrue(is_spam(spam_word))
|
||||
|
||||
def test_case_first(self):
|
||||
for text in CASES:
|
||||
for text in REAL_CASES:
|
||||
with self.subTest(f"check case({text})"):
|
||||
self.assertTrue(is_spam(text))
|
||||
|
||||
def test_main_cases(self):
|
||||
for text in TEST_CASES:
|
||||
with self.subTest(f"check case({text})"):
|
||||
self.assertTrue(is_spam(text))
|
||||
|
||||
@@ -44,6 +71,17 @@ class TestSpam(TestCase):
|
||||
self.assertFalse(is_mixed('print("привет")'))
|
||||
self.assertFalse(is_mixed("print('привет')"))
|
||||
self.assertFalse(is_mixed("text='слово'"))
|
||||
self.assertTrue(is_mixed("kрипт"))
|
||||
self.assertTrue(is_mixed("kpuпт"))
|
||||
self.assertTrue(is_mixed('бupж'))
|
||||
self.assertTrue(is_mixed('пишитe'))
|
||||
self.assertTrue(is_mixed('нaбop'))
|
||||
self.assertTrue(is_mixed('комaндy'))
|
||||
self.assertTrue(is_mixed('Набuраю'))
|
||||
self.assertTrue(is_mixed('цuфр'))
|
||||
self.assertTrue(is_mixed('прuб'))
|
||||
self.assertTrue(is_mixed('kр'))
|
||||
self.assertTrue(is_mixed('рu'))
|
||||
|
||||
|
||||
class TestOthers(TestCase):
|
||||
|
||||
Reference in New Issue
Block a user