Столкнулся с проблемой при работе с pyrogram.
Для начала код:
from pyrogram import Client, filters
from settings import api_id, api_hash, chat_id
app = Client("Deleted_bot")
async def deleted_msg(msg_id):
await app.delete_messages(chat_id, msg_id)
async def get_msg(user_id, msg):
count = 0
msg_list = app.search_messages(chat_id=chat_id, query=msg, from_user=user_id)
async for msg in msg_list:
count += 1
msg_id = msg.id
if count > 1:
try:
await deleted_msg(msg_id)
except Exception as e:
print(e)
else:
pass
@app.on_message(filters.chat(chats=chat_id))
async def get_post(client, message):
user_id = message.from_user.id
msg_txt = message.text
await get_msg(user_id, msg_txt)
app.run()
Описание. Есть группа и задача -- удалять повторяющиеся(старые) сообщения от юзеров.
Что имеем:
1) Функция get_post принимающая на вход сообщение для проверки
2) Функция get_msg, которая
должна возвращать список сообщений юзера, если они совпадают по тексту с 1 функцией
3) Функция удаляющая сообщение
В чем собственно проблема. Если перезапустить бот, он отрабатывает корректно. Но с каждым последующим сообщением, функция 2 перестает работать. Т.е. бот тупо не видит новые сообщения или не находит их.
Я не могу понять причину, т.к. задача в принципе примитивная и асинхронные функции должны отрабатывать. Но работают не так как хотелось бы
Ничего подобного с данной библиотекой ранее не возникало. Возможно я чего то не знаю. Нужна помощь