threads first iteration

This commit is contained in:
mihalin 2022-02-16 20:52:08 +03:00
parent d4582d9a9d
commit 878abc6a0f

View File

@ -55,18 +55,18 @@ async def message_handler(message: types.Message, *args, **kwargs):
return SendMessage(chat_id=message.chat.id,
text="Вы заблокированы в этом боте")
# Пересылаем сообщение в супер-чат
if is_super_group:
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=thread_first_message)
new_message = await message.copy_to(super_chat_id, reply_to_message_id=int(thread_first_message))
else:
# переслать супер-чат
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:
# сообщение нужно переслать в супер-чат
else: # личные сообщения не поддерживают потоки сообщений: простой forward
new_message = await message.forward(super_chat_id)
await _redis.set(_message_unique_id(bot.pk, new_message.message_id), message.chat.id,