|
|
|
@ -156,24 +156,27 @@ async def wlc(message: types.Message) -> None:
|
|
|
|
|
|
|
|
|
|
# https://stackoverflow.com/questions/67637631/create-a-background-process-using-aiogram |
|
|
|
|
async def messages_cleanup() -> None: |
|
|
|
|
# выполняется только при запуске бота! Может быть плохо |
|
|
|
|
msg_list = ( |
|
|
|
|
services.session.query(Messages_to_delete).order_by(Messages_to_delete.id).all() |
|
|
|
|
) |
|
|
|
|
"""Зачистка пропущенных сообщений. При запуске бота проверяет, есть ли не удаленные сообщения требующие удаления, удаляет их.""" |
|
|
|
|
while True: |
|
|
|
|
# вот тут бы проверить, что вообще есть сообещния |
|
|
|
|
for m in msg_list: |
|
|
|
|
if m.deletion_needed: |
|
|
|
|
try: |
|
|
|
|
await bot.delete_message( |
|
|
|
|
chat_id=settings.CHAT_ID, message_id=m.message_id |
|
|
|
|
) |
|
|
|
|
services.session.delete(m) |
|
|
|
|
services.session.commit() |
|
|
|
|
except MessageToDeleteNotFound: |
|
|
|
|
print("Сообщение не найдено!") |
|
|
|
|
services.session.delete(m) |
|
|
|
|
services.session.commit() |
|
|
|
|
msg_list = ( |
|
|
|
|
services.session.query(Messages_to_delete) |
|
|
|
|
.order_by(Messages_to_delete.id) |
|
|
|
|
.all() |
|
|
|
|
) |
|
|
|
|
if msg_list: |
|
|
|
|
for m in msg_list: |
|
|
|
|
print(m.deletion_needed()) |
|
|
|
|
if m.deletion_needed(): |
|
|
|
|
try: |
|
|
|
|
await bot.delete_message( |
|
|
|
|
chat_id=settings.CHAT_ID, message_id=m.message_id |
|
|
|
|
) |
|
|
|
|
services.session.delete(m) |
|
|
|
|
services.session.commit() |
|
|
|
|
except MessageToDeleteNotFound: |
|
|
|
|
print("Сообщение не найдено!") |
|
|
|
|
services.session.delete(m) |
|
|
|
|
services.session.commit() |
|
|
|
|
await asyncio.sleep(600) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|