не увеличивать incoming messages при возможных ошибках на бекенде

This commit is contained in:
mihalin 2022-02-19 05:38:03 +03:00
parent 994d96885f
commit 6004f9d9af

View File

@ -56,9 +56,6 @@ async def message_handler(message: types.Message, *args, **kwargs):
return SendMessage(chat_id=message.chat.id,
text="Вы заблокированы в этом боте")
bot.incoming_messages_count = F("incoming_messages_count") + 1
await bot.save(update_fields=["incoming_messages_count"])
# Пересылаем сообщение в супер-чат
if is_super_group:
thread_first_message = await _redis.get(_thread_uniqie_id(bot.pk, message.chat.id))
@ -81,6 +78,9 @@ async def message_handler(message: types.Message, *args, **kwargs):
await _redis.set(_message_unique_id(bot.pk, new_message.message_id), message.chat.id,
pexpire=ServerSettings.redis_timeout_ms())
bot.incoming_messages_count = F("incoming_messages_count") + 1
await bot.save(update_fields=["incoming_messages_count"])
# И отправить пользователю специальный текст, если он указан
if bot.second_text:
return SendMessage(chat_id=message.chat.id, text=bot.second_text)
@ -121,6 +121,7 @@ async def message_handler(message: types.Message, *args, **kwargs):
bot.outgoing_messages_count = F("outgoing_messages_count") + 1
await bot.save(update_fields=["outgoing_messages_count"])
elif super_chat_id > 0:
# в супер-чате кто-то пишет сообщение сам себе, только для личных сообщений
await message.forward(super_chat_id)