diff options
| author | huker667 <huker@tuta.io> | 2026-07-15 21:07:09 +0300 |
|---|---|---|
| committer | huker667 <huker@tuta.io> | 2026-07-15 21:07:09 +0300 |
| commit | 99dbfad460e725d49b633665d164c24b3b1b5ec1 (patch) | |
| tree | 1f920f2bc2b2eb2df3477cfe25fdb62e8f2713d9 /main.py | |
| parent | 631fabf30dec054aa0c7561dbbbf862527096b71 (diff) | |
| download | uzbekgpt-99dbfad460e725d49b633665d164c24b3b1b5ec1.tar.gz uzbekgpt-99dbfad460e725d49b633665d164c24b3b1b5ec1.tar.bz2 uzbekgpt-99dbfad460e725d49b633665d164c24b3b1b5ec1.zip | |
fix def config, file reading and add vosk api support
Diffstat (limited to 'main.py')
| -rw-r--r-- | main.py | 33 |
1 files changed, 31 insertions, 2 deletions
@@ -1,4 +1,5 @@ import asyncio +import requests import base64 import io import sys @@ -143,6 +144,34 @@ async def guest_middleware(handler, event, data): prompt = "" images = [] + + voice = None + + if VOSK_API != "": + if message.voice: + voice = message.voice + elif replied and replied.voice: + voice = replied.voice + + if voice: + if voice.duration > 60: + da = "не врат не пойдёт такой длинный голосовой сообщение" \ + ". \nнадо меньше 60 секунд da✅" + if event.guest_message: + await g_answer(data, message, da) + else: + await message.reply(da) + buf = BytesIO() + await bot.download(voice, destination=buf) + buf.seek(0) + + result = await asyncio.to_thread( + send_to_vosk, + buf.read() + ) + + prompt = f"<голосовое сообщение>{result.get('text', 'не распознано')}</голосовое сообщение>{prompt}" + if message.document: if message.document.file_size > 4096: @@ -161,7 +190,7 @@ async def guest_middleware(handler, event, data): file_content = file_bytes.read().decode("utf-8", errors="ignore") file_bytes.close() - prompt = f"<файл>{file_content}</файл>" + prompt = f"<файл>{file_content}</файл>{prompt}" except UnicodeDecodeError: if event.guest_message: @@ -191,7 +220,7 @@ async def guest_middleware(handler, event, data): await bot.download(replied.document, destination=file_bytes) file_bytes.seek(0) file_content = file_bytes.read().decode("utf-8", errors="ignore") - prompt = f"<файл>{file_content}</файл>{user_text}" + prompt = f"<файл>{file_content}</файл>{prompt}" except UnicodeDecodeError: if event.guest_message: await g_answer(data, message, "файл не вошёл❌") |