Update bot.py

parent 7d6473c9
...@@ -3,6 +3,7 @@ from aiogram import Bot, Dispatcher, Router ...@@ -3,6 +3,7 @@ from aiogram import Bot, Dispatcher, Router
from aiogram.types import ChatMemberUpdated, Message from aiogram.types import ChatMemberUpdated, Message
from aiogram.exceptions import AiogramError from aiogram.exceptions import AiogramError
from pymorphy2 import MorphAnalyzer from pymorphy2 import MorphAnalyzer
from aiogram.types import ChatMember
import random import random
import time import time
import emoji import emoji
...@@ -30,18 +31,18 @@ active_users = {} ...@@ -30,18 +31,18 @@ active_users = {}
# Список спамных слов и фраз # Список спамных слов и фраз
SPAM_KEYWORDS = [ SPAM_KEYWORDS = [
# Коммерческий спам # Коммерческий спам
"скидка", "акция", "бонус", "бесплатно", "купить", "продать", "продажа", "дешево", "скидка", "акция", "мы снова", "спрос", "бонус", "витрина", "бесплатно","платить" , "купить", "покупать", "продать", "продажа", "дешево",
"доставка", "магазин", "реклама", "распродажа", "экономия", "дешевле", "недорого", "доставка", "магазин", "следить за новости", "реклама", "распродажа", "экономия", "дешевле", "недорого",
"спецпредложение", "уникальное предложение", "только сегодня", "спецпредложение", "уникальное предложение", "только сегодня", "лютая жиза", "мерч", "продукция", "коллекция",
# Работа # Работа
"удалённая работа", "бакс", "доллар", "$", "нужен человек", "писать в лс", "удалённая работа", "бакс", "доллар", "$", "нужен человек", "нужен помощник", "вакансии", "удаленка","условия труда", "писать в лс",
# Мошенничество # Мошенничество
"лотерея", "быстрый выигрыш", "выигрыш", "приз", "деньги", "заработать", "заработок", "зп", "подработка", "легкий заработок", "лотерея", "быстрый выигрыш", "выигрыш", "приз", "деньги", "халява" "заработать", "прибыль", "заработок", "зп", "подработка", "легкий заработок",
"мгновенно", "доход", "доход онлайн", "как заработать", "схема заработка", "мгновенно", "доход", "доход онлайн", "как заработать", "схема заработка",
"пассивный доход", "быстро заработать", "богатство", "инвестировать", "инвестиция", "пассивный доход", "быстро заработать", "богатство", "всего за", "инвестировать", "инвестиция",
"биткоин", "криптовалюта", "forex", "деньги на карта", "дивиденд", "процент", "депозит", "выплата", "невероятный доход", "биткоин", "криптовалюта", "forex", "деньги на карта", "дивиденд", "процент", "депозит", "выплата", "невероятный доход", "статус",
# Продажа услуг и мошеннические предложения # Продажа услуг и мошеннические предложения
"гадалка", "приворот", "заговор", "магия", "ритуал", "расклад таро", "ясновидение", "гадалка", "приворот", "заговор", "магия", "ритуал", "расклад таро", "ясновидение",
...@@ -49,7 +50,7 @@ SPAM_KEYWORDS = [ ...@@ -49,7 +50,7 @@ SPAM_KEYWORDS = [
"снять порчу", "порча", "снять порчу", "порча",
# Фишинг и подозрительные ссылки # Фишинг и подозрительные ссылки
"кликнуть сюда", "нажать сюда", "писать сюда", "переходить здесь", "переходить по ссылка", "перейти по ссылка", "узнать больше", "узнать тут", "суперпредложение", "уникальный", "карта", "кликнуть сюда", "нажать сюда", "писать сюда", "переходить здесь", "переходить по ссылка", "перейти по ссылка", "кнопка", "кнопка ниже", "узнать больше", "узнать тут", "суперпредложение", "уникальный", "карта",
# Иностранный спам # Иностранный спам
"discount", "free", "sale", "limited offer", "bitcoin", "crypto", "click here", "discount", "free", "sale", "limited offer", "bitcoin", "crypto", "click here",
...@@ -59,7 +60,7 @@ SPAM_KEYWORDS = [ ...@@ -59,7 +60,7 @@ SPAM_KEYWORDS = [
# Продвижение подписок, лайков и сервисов # Продвижение подписок, лайков и сервисов
"подписка", "раскрутка", "продвижение", "лайк", "подписчик", "просмотр", "подписка", "раскрутка", "продвижение", "лайк", "подписчик", "просмотр",
"отзыв", "рейтинг", "рейтинг магазин", "работа", "вакансия", "отзыв", "рейтинг", "рейтинг магазин", "работа", "вакансия",
"раскрутка аккаунт", "реферальная ссылка", "реферал", "раскрутка аккаунт", "реферальная ссылка", "реферал", "экономия",
# Политический спам # Политический спам
"митинг", "партия", "агитация", "голосовать", "выборы", "кандидат", "поддержка", "митинг", "партия", "агитация", "голосовать", "выборы", "кандидат", "поддержка",
...@@ -70,14 +71,14 @@ SPAM_KEYWORDS = [ ...@@ -70,14 +71,14 @@ SPAM_KEYWORDS = [
".tk", ".pw", ".cc", ".link", ".tk", ".pw", ".cc", ".link",
# Общее (агрессивные призывы, массовая рассылка) # Общее (агрессивные призывы, массовая рассылка)
"добрый время сутки", "поделиться", "отправить", ассказать все", "срочно", "обязательно прочитать", "пересылать", "передать друг", "добрый время сутки", "поделиться", "отправить", егистрироваться по ссылка" "рассказать все", "срочно", "обязательно прочитать", "написать", "пересылать", "передать друг",
# Контент, связанный с азартными играми # Контент, связанный с азартными играми
"казино", "ставка", "азартная игра", "рулетка", "выигрыш в казино","выигрывать", "промокод", "слоты", "подарок", "забрать подарок", "получить подарок", "время действовать", "пополнить", "счет", "джекпот", "игрок","азарт", "баланс", "казино", "розыгрыш", "ставка", "азартная игра", "рулетка", "выигрыш в казино","выигрывать", "промокод", "слоты", "подарок", "забрать подарок", "получить подарок",
"казино онлайн", "бесплатные фишки", "ставки на спорт", "играть", "выигрывать","фриспин", "получить выигрыш","casino", "казино онлайн", "бесплатные фишки", "ставки на спорт", "играть", "победить", "победитель", "выигрывать", "фриспин", "получить выигрыш","casino", "без цензуры",
# Эмодзи, часто используемые в спаме # Эмодзи, часто используемые в спаме
"🎁", "🔥", "💸", "💰", "💎", "🤑", "🤩", "⚡", "⭐", "💥" "🎁", "🔥", "💸", "💰", "💎", "🤑", "🤩", "⚡", "⭐", "💥", "✅", "🏆", "✋", "💖", "💝", "⚔️", "🥇", "💯", "💳", "🔞"
] ]
def has_mixed_layout(text): def has_mixed_layout(text):
...@@ -247,7 +248,18 @@ async def cleanup_messages(user_data): ...@@ -247,7 +248,18 @@ async def cleanup_messages(user_data):
@router.message() @router.message()
async def handle_message(message: Message): async def handle_message(message: Message):
"""Обработчик сообщений от пользователей для проверки ответа.""" """Обработчик сообщений от пользователей для проверки ответа."""
# Проверка на статус пользователя в группе
try:
chat_member = await bot.get_chat_member(message.chat.id, message.from_user.id)
if chat_member.status not in ["member", "administrator", "creator"]:
# Если пользователь не участник, удаляем его сообщение
await message.delete()
print(f"Удалено сообщение от пользователя {message.from_user.id}, который не является участником группы.")
return
except AiogramError as e:
print(f"Ошибка при проверке статуса пользователя {message.from_user.id}. Ошибка: {e}")
text = message.text or message.caption or "" text = message.text or message.caption or ""
# Проверка на смешанную раскладку # Проверка на смешанную раскладку
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment