From 88752a01dd223a7e77f614da3bbd32ca5df3ed75 Mon Sep 17 00:00:00 2001 From: mihalin Date: Sat, 19 Feb 2022 02:41:59 +0300 Subject: [PATCH] reply exception skip --- docs/source/additional.rst | 29 ++++++++++------------------- server/custom.py | 7 ++++++- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/docs/source/additional.rst b/docs/source/additional.rst index 13f225b..d1421d7 100644 --- a/docs/source/additional.rst +++ b/docs/source/additional.rst @@ -19,22 +19,13 @@ Dash: История изменений ---------------- -`2022-02-19` Статистика использования бота - -`2022-02-16` Очистка Redis по timeout - -`2022-02-12` Шаблоны ответов - -`2022-01-27` Настройки логирования - -`2022-01-18` Команды /ban и /unban - -`2021-12-14` Bugfix обработка изменения ID чата - -`2021-10-01` Возможность ограничивать права на бота (ADMIN_ID) - -`2021-09-26` Шифрование токенов - -`2021-09-26` Добавлен автоответчик - -`2021-09-24` Initial +- `2022-02-19` Статистика использования бота +- `2022-02-16` Очистка Redis по timeout +- `2022-02-12` Шаблоны ответов +- `2022-01-27` Настройки логирования +- `2022-01-18` Команды /ban и /unban +- `2021-12-14` Bugfix обработка изменения ID чата +- `2021-10-01` Возможность ограничивать права на бота (ADMIN_ID) +- `2021-09-26` Шифрование токенов +- `2021-09-26` Добавлен автоответчик +- `2021-09-24` Initial diff --git a/server/custom.py b/server/custom.py index f72f5da..adb7d7d 100644 --- a/server/custom.py +++ b/server/custom.py @@ -64,7 +64,12 @@ async def message_handler(message: types.Message, *args, **kwargs): thread_first_message = await _redis.get(_thread_uniqie_id(bot.pk, message.chat.id)) if thread_first_message: # переслать в супер-чат, отвечая на предыдущее сообщение - new_message = await message.copy_to(super_chat_id, reply_to_message_id=int(thread_first_message)) + try: + new_message = await message.copy_to(super_chat_id, reply_to_message_id=int(thread_first_message)) + except exceptions.BadRequest: + new_message = await message.forward(super_chat_id) + await _redis.set(_thread_uniqie_id(bot.pk, message.chat.id), new_message.message_id, + pexpire=ServerSettings.thread_timeout_ms()) else: # переслать супер-чат new_message = await message.forward(super_chat_id)