fix requests.ConnectionError
This commit is contained in:
+15
-48
@@ -18,54 +18,21 @@ class Converter:
|
||||
|
||||
:return: str - текст + служебная информация
|
||||
"""
|
||||
r = requests.get("http://192.168.0.108:5000/ping")
|
||||
if r.status_code == 200:
|
||||
response = requests.post("http://192.168.0.108:5000/decrypt_audio",
|
||||
files={"file": open(self.path_to_file, "rb").read()})
|
||||
if response.status_code == 200:
|
||||
return f"От компа:\n{response.text}"
|
||||
try:
|
||||
r = requests.get("http://192.168.0.108:5000/ping")
|
||||
if r.status_code == 200:
|
||||
response = requests.post(
|
||||
"http://192.168.0.108:5000/decrypt_audio",
|
||||
files={"file": open(self.path_to_file, "rb").read()},
|
||||
timeout=6000
|
||||
)
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
else:
|
||||
return 'Не удалось получить текст.'
|
||||
else:
|
||||
return 'Не удалось получить текст.'
|
||||
else:
|
||||
result = self.model.transcribe(self.path_to_file)
|
||||
return result["text"]
|
||||
except requests.ConnectionError:
|
||||
result = self.model.transcribe(self.path_to_file)
|
||||
return result["text"]
|
||||
|
||||
# def google(self, f) -> str:
|
||||
# """
|
||||
# Функция работающая с stt google
|
||||
#
|
||||
# :return: str - текст + служебная информация
|
||||
# """
|
||||
# subprocess.run(['ffmpeg', '-v', 'quiet', '-i', self.path_to_file, self.path_to_file.replace(".ogg", ".wav")])
|
||||
# # перевод ogg в wav
|
||||
# try:
|
||||
# os.remove(self.path_to_file) # удаляю файл
|
||||
# wav_file = self.path_to_file.replace(".ogg", ".wav") # замена в ссылке на файл ogg в wav
|
||||
# r = sr.Recognizer() # создаю объект google stt
|
||||
# with sr.AudioFile(wav_file) as source: # получаю байты из файла
|
||||
# audio = r.record(source) # получаю файл в нужном google stt формате байт
|
||||
# r.adjust_for_ambient_noise(source) # мини очистка шума
|
||||
# try:
|
||||
# response = "google\n\n" + r.recognize_google(audio, language=self.language) # получение текста
|
||||
# loging(self.message, "google", wav_file, response, f) # записываю логи
|
||||
# os.remove(wav_file) # удаляю лишние файлы
|
||||
# return response # возвращаю текст
|
||||
# except sr.UnknownValueError: # ошибка распознавания текста
|
||||
# return "google\n\n Слова не распознаны, вы что вообще мне впихнуть пытаетесь" # возвращаю ошибочное
|
||||
# # сообщение
|
||||
# except FileNotFoundError: # ошибка файла(из-за веса telegram не пускает)
|
||||
# return "Толи файл слишком большой, толи с ботом что-то случилось" # возвращение ошибки
|
||||
#
|
||||
# def yandex(self, f) -> str:
|
||||
# """
|
||||
# Функция работающая с stt yandex
|
||||
#
|
||||
# :return: str - текст + служебная информация
|
||||
# """
|
||||
# from speechkit import ShortAudioRecognition, Session # импортирую сесию и объект для stt
|
||||
# reg = ShortAudioRecognition(Session.from_api_key("AQVN3xNJamAFP4_FS6Gis0Uud0vONFk24umBSXvh")) # получаю
|
||||
# # объект для расшифровки
|
||||
# response = "yandex\n\n" + reg.recognize(open(str(self.path_to_file), str('rb')).read()) # получаю весь текст
|
||||
# loging(self.message, "yandex", self.path_to_file, response, f) # записываю логи
|
||||
# os.remove(self.path_to_file) # удаляю лишние файлы
|
||||
# return response # возвращаю ответ
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import os
|
||||
from io import BytesIO
|
||||
|
||||
from functions.convert import Converter
|
||||
from aiogram import types
|
||||
|
||||
@@ -19,6 +21,12 @@ async def get_audio_messages_func(message: types.Message, logger, bot, model) ->
|
||||
file_id = message.voice.file_id
|
||||
elif message.content_type in ['video']:
|
||||
file_id = message.video.file_id
|
||||
elif message.content_type in ['video_note']:
|
||||
file_id = message.video_note.file_id
|
||||
elif message.content_type in ['document']:
|
||||
file_id = message.document.file_id
|
||||
elif message.content_type in ['audio']:
|
||||
file_id = message.audio.file_id
|
||||
else:
|
||||
file_id = message.video_note.file_id
|
||||
file_name = "config/" + str(message.message_id) + '.ogg' # создаю file_name
|
||||
@@ -35,4 +43,6 @@ async def get_audio_messages_func(message: types.Message, logger, bot, model) ->
|
||||
message_text = converter.audio_to_text() # получаю текст из конвертора
|
||||
logger.info(f"Чат {name} (ID: {message.chat.id}) обработал файл {file_name}, "
|
||||
f"сервисом {converter.service}") # записываю всё в logger
|
||||
await bot.send_message(message.chat.id, message_text, reply_to_message_id=message.message_id) # отправляю сообщение
|
||||
file = BytesIO(message_text['timestamp'].encode('utf-8'))
|
||||
file.name = 'timestamp.txt'
|
||||
await bot.send_document(chat_id=message.chat.id, document=file, caption=f"От компа:\n{message_text['final_text']}")
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ async def start(message: types.Message):
|
||||
await start_stat.start_stat(message)
|
||||
|
||||
|
||||
@dp.message_handler(content_types=['voice', 'video_note', 'video']) # обрабатываю голосовые сообщения, кружки, видео
|
||||
@dp.message_handler(content_types=['voice', 'video_note', 'video', 'audio', 'document']) # обрабатываю голосовые сообщения, кружки, видео
|
||||
async def get_audio_messages(message: types.Message):
|
||||
file_data.save_data('audio_resive')
|
||||
if message.chat.type == 'group' or message.chat.type == "supergroup":
|
||||
|
||||
Reference in New Issue
Block a user