diff --git a/.gitignore b/.gitignore index 2cbd47f..7dace7a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,6 @@ __pycache__ config.json docker-compose-release.yaml docs/build +ad.md +release.env +test.py diff --git a/server/custom.py b/server/custom.py index a0b12fb..5f6380a 100644 --- a/server/custom.py +++ b/server/custom.py @@ -30,7 +30,7 @@ def _message_unique_id(bot_id: int, message_id: int) -> str: return f"{bot_id}_{message_id}" -async def message_handler(message, *args, **kwargs): +async def message_handler(message: types.Message, *args, **kwargs): _logger.info("message handler") bot = db_bot_instance.get() @@ -51,6 +51,14 @@ async def message_handler(message, *args, **kwargs): return SendMessage(chat_id=message.chat.id, text=bot.second_text) else: # Это супер-чат + + if message.chat.type.is_group_or_supergroup(): + if not message.reply_to_message or not message.reply_to_message.from_user.is_bot: + return # В групповом чате мы получили сообщение, которое вообще не предназначалось боту + + if not message.reply_to_message.is_forward(): + return # В групповом чате кто-то ответил на текст /start, например + if message.reply_to_message: # В супер-чате кто-то ответил на сообщение пользователя, нужно переслать тому пользователю chat_id = await _redis.get(_message_unique_id(bot.pk, message.reply_to_message.message_id))