This commit is contained in:
mihalin 2021-12-22 23:46:09 +03:00
parent fcba54ccf5
commit c686d8d2d6
2 changed files with 12 additions and 1 deletions

3
.gitignore vendored
View File

@ -7,3 +7,6 @@ __pycache__
config.json config.json
docker-compose-release.yaml docker-compose-release.yaml
docs/build docs/build
ad.md
release.env
test.py

View File

@ -30,7 +30,7 @@ def _message_unique_id(bot_id: int, message_id: int) -> str:
return f"{bot_id}_{message_id}" 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") _logger.info("message handler")
bot = db_bot_instance.get() 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) return SendMessage(chat_id=message.chat.id, text=bot.second_text)
else: 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: if message.reply_to_message:
# В супер-чате кто-то ответил на сообщение пользователя, нужно переслать тому пользователю # В супер-чате кто-то ответил на сообщение пользователя, нужно переслать тому пользователю
chat_id = await _redis.get(_message_unique_id(bot.pk, message.reply_to_message.message_id)) chat_id = await _redis.get(_message_unique_id(bot.pk, message.reply_to_message.message_id))