feat: add SST
This commit is contained in:
1 parent
51093da660
commit
bfd16ab02c
11 files changed
+196
-4
No files matched your search
@@ -0,0 +1,27 @@
|
||||
from pyrogram import Client, raw
|
||||
from pyrogram.types import Message
|
||||
|
||||
from userbot.modules.capture.context import CaptureContext
|
||||
from userbot.modules.media import self_destruct_ttl
|
||||
from userbot.modules.stt import repository
|
||||
|
||||
|
||||
def is_transcribable(message: Message) -> bool:
|
||||
if self_destruct_ttl(message) is not None:
|
||||
return False
|
||||
return message.voice is not None or message.video_note is not None
|
||||
|
||||
|
||||
async def transcribe_message(
|
||||
client: Client, ctx: CaptureContext, chat_id: int, message_id: int
|
||||
) -> None:
|
||||
peer = await client.resolve_peer(chat_id)
|
||||
if peer is None:
|
||||
return
|
||||
result = await client.invoke(
|
||||
raw.functions.messages.TranscribeAudio(peer=peer, msg_id=message_id)
|
||||
)
|
||||
if not result.pending and result.text:
|
||||
await repository.set_extracted_text(
|
||||
ctx.pool, ctx.account_id, chat_id, message_id, result.text
|
||||
)
|
||||
Reference in new issue
Block a user