Update bot.py

parent 7d6473c9
......@@ -3,6 +3,7 @@ from aiogram import Bot, Dispatcher, Router
from aiogram.types import ChatMemberUpdated, Message
from aiogram.exceptions import AiogramError
from pymorphy2 import MorphAnalyzer
from aiogram.types import ChatMember
import random
import time
import emoji
......@@ -30,18 +31,18 @@ active_users = {}
# Список спамных слов и фраз
SPAM_KEYWORDS = [
# Коммерческий спам
"скидка", "акция", "бонус", "бесплатно", "купить", "продать", "продажа", "дешево",
"доставка", "магазин", "реклама", "распродажа", "экономия", "дешевле", "недорого",
"спецпредложение", "уникальное предложение", "только сегодня",
"скидка", "акция", "мы снова", "спрос", "бонус", "витрина", "бесплатно","платить" , "купить", "покупать", "продать", "продажа", "дешево",
"доставка", "магазин", "следить за новости", "реклама", "распродажа", "экономия", "дешевле", "недорого",
"спецпредложение", "уникальное предложение", "только сегодня", "лютая жиза", "мерч", "продукция", "коллекция",
# Работа
"удалённая работа", "бакс", "доллар", "$", "нужен человек", "писать в лс",
"удалённая работа", "бакс", "доллар", "$", "нужен человек", "нужен помощник", "вакансии", "удаленка","условия труда", "писать в лс",
# Мошенничество
"лотерея", "быстрый выигрыш", "выигрыш", "приз", "деньги", "заработать", "заработок", "зп", "подработка", "легкий заработок",
"лотерея", "быстрый выигрыш", "выигрыш", "приз", "деньги", "халява" "заработать", "прибыль", "заработок", "зп", "подработка", "легкий заработок",
"мгновенно", "доход", "доход онлайн", "как заработать", "схема заработка",
"пассивный доход", "быстро заработать", "богатство", "инвестировать", "инвестиция",
"биткоин", "криптовалюта", "forex", "деньги на карта", "дивиденд", "процент", "депозит", "выплата", "невероятный доход",
"пассивный доход", "быстро заработать", "богатство", "всего за", "инвестировать", "инвестиция",
"биткоин", "криптовалюта", "forex", "деньги на карта", "дивиденд", "процент", "депозит", "выплата", "невероятный доход", "статус",
# Продажа услуг и мошеннические предложения
"гадалка", "приворот", "заговор", "магия", "ритуал", "расклад таро", "ясновидение",
......@@ -49,7 +50,7 @@ SPAM_KEYWORDS = [
"снять порчу", "порча",
# Фишинг и подозрительные ссылки
"кликнуть сюда", "нажать сюда", "писать сюда", "переходить здесь", "переходить по ссылка", "перейти по ссылка", "узнать больше", "узнать тут", "суперпредложение", "уникальный", "карта",
"кликнуть сюда", "нажать сюда", "писать сюда", "переходить здесь", "переходить по ссылка", "перейти по ссылка", "кнопка", "кнопка ниже", "узнать больше", "узнать тут", "суперпредложение", "уникальный", "карта",
# Иностранный спам
"discount", "free", "sale", "limited offer", "bitcoin", "crypto", "click here",
......@@ -59,7 +60,7 @@ SPAM_KEYWORDS = [
# Продвижение подписок, лайков и сервисов
"подписка", "раскрутка", "продвижение", "лайк", "подписчик", "просмотр",
"отзыв", "рейтинг", "рейтинг магазин", "работа", "вакансия",
"раскрутка аккаунт", "реферальная ссылка", "реферал",
"раскрутка аккаунт", "реферальная ссылка", "реферал", "экономия",
# Политический спам
"митинг", "партия", "агитация", "голосовать", "выборы", "кандидат", "поддержка",
......@@ -70,14 +71,14 @@ SPAM_KEYWORDS = [
".tk", ".pw", ".cc", ".link",
# Общее (агрессивные призывы, массовая рассылка)
"добрый время сутки", "поделиться", "отправить", ассказать все", "срочно", "обязательно прочитать", "пересылать", "передать друг",
"добрый время сутки", "поделиться", "отправить", егистрироваться по ссылка" "рассказать все", "срочно", "обязательно прочитать", "написать", "пересылать", "передать друг",
# Контент, связанный с азартными играми
"казино", "ставка", "азартная игра", "рулетка", "выигрыш в казино","выигрывать", "промокод", "слоты", "подарок", "забрать подарок", "получить подарок",
"казино онлайн", "бесплатные фишки", "ставки на спорт", "играть", "выигрывать","фриспин", "получить выигрыш","casino",
"время действовать", "пополнить", "счет", "джекпот", "игрок","азарт", "баланс", "казино", "розыгрыш", "ставка", "азартная игра", "рулетка", "выигрыш в казино","выигрывать", "промокод", "слоты", "подарок", "забрать подарок", "получить подарок",
"казино онлайн", "бесплатные фишки", "ставки на спорт", "играть", "победить", "победитель", "выигрывать", "фриспин", "получить выигрыш","casino", "без цензуры",
# Эмодзи, часто используемые в спаме
"🎁", "🔥", "💸", "💰", "💎", "🤑", "🤩", "⚡", "⭐", "💥"
"🎁", "🔥", "💸", "💰", "💎", "🤑", "🤩", "⚡", "⭐", "💥", "✅", "🏆", "✋", "💖", "💝", "⚔️", "🥇", "💯", "💳", "🔞"
]
def has_mixed_layout(text):
......@@ -247,7 +248,18 @@ async def cleanup_messages(user_data):
@router.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 ""
# Проверка на смешанную раскладку
......
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