добавил сообщение из-за слишком большого файла, а так же сделал нормальное распознавание на микро сервере
This commit is contained in:
+15
-4
@@ -12,7 +12,7 @@ class Converter:
|
|||||||
self.message = message
|
self.message = message
|
||||||
self.model = model
|
self.model = model
|
||||||
|
|
||||||
def audio_to_text(self) -> str:
|
def audio_to_text(self) -> dict:
|
||||||
"""
|
"""
|
||||||
Основная функция
|
Основная функция
|
||||||
|
|
||||||
@@ -29,10 +29,21 @@ class Converter:
|
|||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
return response.json()
|
return response.json()
|
||||||
else:
|
else:
|
||||||
return 'Не удалось получить текст.'
|
return {
|
||||||
|
"timestamp": " ",
|
||||||
|
"final_text": "Не удалось получить текст."
|
||||||
|
}
|
||||||
else:
|
else:
|
||||||
result = self.model.transcribe(self.path_to_file)
|
result = self.model.transcribe(self.path_to_file)
|
||||||
return result["text"]
|
return {
|
||||||
|
"timestamp": "Тут такое не работает, "
|
||||||
|
"жди пока главный сервер поднимется",
|
||||||
|
"final_text": result["text"]
|
||||||
|
}
|
||||||
except requests.ConnectionError:
|
except requests.ConnectionError:
|
||||||
result = self.model.transcribe(self.path_to_file)
|
result = self.model.transcribe(self.path_to_file)
|
||||||
return result["text"]
|
return {
|
||||||
|
"timestamp": "Тут такое не работает, "
|
||||||
|
"жди пока главный сервер поднимется",
|
||||||
|
"final_text": result["text"]
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
from functions.convert import Converter
|
from functions.convert import Converter
|
||||||
from aiogram import types
|
from aiogram import types, exceptions
|
||||||
|
|
||||||
|
|
||||||
async def get_audio_messages_func(message: types.Message, logger, bot, model) -> None:
|
async def get_audio_messages_func(message: types.Message, logger, bot, model) -> None:
|
||||||
@@ -36,13 +35,24 @@ async def get_audio_messages_func(message: types.Message, logger, bot, model) ->
|
|||||||
else:
|
else:
|
||||||
name = message.chat.title
|
name = message.chat.title
|
||||||
with open(file_name, 'wb') as new_file: # открываю файл для записи
|
with open(file_name, 'wb') as new_file: # открываю файл для записи
|
||||||
file = await bot.get_file(file_id) # ссылка для скачивая файла
|
try:
|
||||||
file_dow = await bot.download_file(file.file_path) # скачанный файл
|
file = await bot.get_file(file_id) # ссылка для скачивая файла
|
||||||
new_file.write(file_dow.getvalue()) # записываю
|
file_dow = await bot.download_file(file.file_path) # скачанный файл
|
||||||
converter = Converter(file_name, message, model) # запуск конвертора
|
converter = Converter(file_name, message, model) # запуск конвертора
|
||||||
message_text = converter.audio_to_text() # получаю текст из конвертора
|
message_text = converter.audio_to_text() # получаю текст из конвертора
|
||||||
logger.info(f"Чат {name} (ID: {message.chat.id}) обработал файл {file_name}, "
|
logger.info(f"Чат {name} (ID: {message.chat.id}) обработал файл {file_name}, "
|
||||||
f"сервисом {converter.service}") # записываю всё в logger
|
f"сервисом {converter.service}") # записываю всё в logger
|
||||||
file = BytesIO(message_text['timestamp'].encode('utf-8'))
|
file = BytesIO(message_text['timestamp'].encode('utf-8'))
|
||||||
file.name = 'timestamp.txt'
|
file.name = 'timestamp.txt'
|
||||||
await bot.send_document(chat_id=message.chat.id, document=file, caption=f"От компа:\n{message_text['final_text']}")
|
await bot.send_document(
|
||||||
|
chat_id=message.chat.id,
|
||||||
|
document=file,
|
||||||
|
caption=f"От компа:\n{message_text['final_text']}"
|
||||||
|
)
|
||||||
|
new_file.write(file_dow.getvalue()) # записываю
|
||||||
|
except exceptions.FileIsTooBig:
|
||||||
|
await bot.send_message(
|
||||||
|
message.chat.id,
|
||||||
|
"Файл слишком большой, попробуйте расшифровку у нас на сайте. "
|
||||||
|
"На сайте нет ограничений на размер файла. Ссылка на сайт: будет позже"
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user