feat: add realtime capturing

This commit is contained in:
h
2026-05-29 18:19:06 +02:00
parent 920a0235e2
commit 3c1a12750c
29 changed files with 967 additions and 47 deletions
+36
View File
@@ -0,0 +1,36 @@
from pyrogram.types import Message
from userbot import PyroClient
from userbot.handlers.messages import sender_id
from userbot.modules.capture import repository
from userbot.modules.capture.chat_meta import meta_from_chat
from userbot.modules.media import self_destruct_ttl
@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.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)
toggles = ctx.resolve(meta)
if not toggles.track_edits_deletes:
return
await repository.add_version(
ctx.pool,
ctx.account_id,
chat_id,
message.id,
message.date,
sender_id(message),
message.text or message.caption,
str(message),
message.edit_date,
has_media=message.media is not None,
is_self_destruct=self_destruct_ttl(message) is not None,
)
handlers = on_edited_message.handlers