from pyrogram.types import Message from userbot.modules.capture import repository from userbot.modules.capture.chat_meta import meta_from_chat from userbot.modules.capture.message import message_row from userbot.modules.client import PyroClient from userbot.modules.media import capture_media from userbot.modules.watches.seen import seen_message from utils.events import notify_bg_event @PyroClient.on_edited_message() async def on_edited_message(client: PyroClient, message: Message) -> None: ctx = client.capture if ( ctx is None or message.empty or message.scheduled or message.chat is None or message.date is None ): return chat = message.chat chat_id = chat.id or 0 meta = meta_from_chat(chat, ctx.contacts.ids) await ctx.watches.on_edit(seen_message(chat_id, message)) toggles = ctx.resolve(meta) if not (toggles.messages and toggles.track_edits_deletes): return changed = await repository.add_version( ctx.pool, ctx.account_id, message_row(message, chat_id, message.date) ) if not changed: return if message.media is not None: await capture_media(client, message, ctx, chat_id, message.id, toggles) await notify_bg_event( ctx.pool, "edit", ctx.account_id, chat_id=chat_id, message_id=message.id ) handlers = on_edited_message.handlers # ty: ignore[unresolved-attribute]