Как реализовать удаление сообщений в телеграм чате?

Час добрый. Если будет недостаточно информации, то скажите об этом подправлю пост.

Нужно реализовать удаление сообщений в телеграм чате всех пользователей, чей id не записан в базу данных. Сама база формируется следующим образом: люди пишут этому же боту в личные сообщения и он сохраняет их id в user_id_list. На данный момент нашел пример проверки всех новых сообщений в чате, но не знаю как устроить проверку этого сообщения на id юзера, написавшего данное сообщение.

Ниже предоставлен код поиска последних сообщений в чате В идеале на месте &&& стоит внести проверку сообщений на пользователя и удалять их если пользователя нет в базе, но как это реализовать - не знаю

Самого бота буду писать на aiogram, думаю асинхронность поможет в обработке двух функций (сбор базы и удаление сообщений). Если нет, то думаю рассмотреть мультипроцессинг

Чтобы подвести итог, то конечный вариант бота должен быть таков: Если написавший в чат не находится в базе данных по его id, то его сообщение будет удалено. Плюс желательно для чистоты самого чата удалять сообщение об удалении сообщения. Однако если же данный пользователь нашелся в базе, то его сообщение пропустят и не удалят.

Как можно реализовать подобного бота? Думал сделать двух разных, один будет собирать базу id написавших ему и сохранят ее скажем в google sheets, а второй будет проверять всех написавших в чат и удалять сообщения тех кого там нет, или же проверять всех, кто есть в чате и выдавать бан чата на 10 минут всем, кто не найден в базе данных. При этом проверку пользователей желательно проводить либо постоянно, либо раз в 5 секунд, чтобы не пропустить сообщения

from telethon import TelegramClient, events  
from pars_conf import account, list_all, list_id_users  # import data from config
api_id = account[0]  # give an api
api_hash = account[1]  #give a hash
client = TelegramClient('my_account', api_id, api_hash)  # find id user
@client.on(events.NewMessage)  # wait for new message
async def my_event_handler(event):  # checking event
        if event.chat.username in list_all:  #check from what channel messege send
                chat = await event.get_input_chat()  # take chat info
                msg = await client.get_messages(chat.channel_id, limit=1)  # take last message
                  
                   &&&&&&&&&&&&&&&&&&&

                print("busted")
client.start()  # start client
client.run_until_disconnected()  

Ответы (0 шт):