add more errors parsing and fix some errors da

This commit is contained in:
huker667 committed 2026-07-16 12:42:36 +03:00
1 parent 540aea2ec6
commit b958bddcfb
3 files changed
+53 -41

No files matched your search

+19 -5
View File
@@ -76,7 +76,6 @@ def is_replied_bot(message, is_channel, user_text, config=None):
return True return True
async def g_answer( async def g_answer(
data,
message, message,
text, text,
title="da", title="da",
@@ -95,9 +94,7 @@ async def g_answer(
input_message_content=InputRichMessageContent( input_message_content=InputRichMessageContent(
rich_message=InputRichMessage(markdown=text) rich_message=InputRichMessage(markdown=text)
) )
return await data["bot"]( return await message.answer_guest_query(
AnswerGuestQuery(
guest_query_id=message.guest_query_id,
result=InlineQueryResultArticle( result=InlineQueryResultArticle(
id=id, id=id,
reply_markup=reply_markup, reply_markup=reply_markup,
@@ -105,7 +102,6 @@ async def g_answer(
input_message_content=input_message_content input_message_content=input_message_content
) )
) )
)
async def answer_poll( async def answer_poll(
@@ -148,3 +144,21 @@ def send_to_vosk(audio):
) )
return r.json() return r.json()
async def mans(message, text):
if message.guest_query_id:
return await message.answer_guest_query(
result=InlineQueryResultArticle(
id=1,
reply_markup=None,
title="da",
input_message_content=InputTextMessageContent(
message_text=text,
parse_mode="Markdown"
)
)
)
else:
return await message.reply_text(text)
+22 -29
View File
@@ -105,7 +105,7 @@ async def guest_middleware(handler, event, data):
return return
if blocked: if blocked:
if event.guest_message: if event.guest_message:
await g_answer(data, message, text, title="ошибка врат") await g_answer(text, title="ошибка врат")
elif event.message: elif event.message:
error_message = await message.reply(text) error_message = await message.reply(text)
await asyncio.sleep(7) await asyncio.sleep(7)
@@ -158,27 +158,32 @@ async def guest_middleware(handler, event, data):
da = "не врат не пойдёт такой длинный голосовой сообщение" \ da = "не врат не пойдёт такой длинный голосовой сообщение" \
". \nнадо меньше 60 секунд da✅" ". \nнадо меньше 60 секунд da✅"
if event.guest_message: if event.guest_message:
await g_answer(data, message, da) await g_answer(message, da)
else: else:
await message.reply(da) await message.reply(da)
buf = BytesIO() buf = BytesIO()
await bot.download(voice, destination=buf) try:
brat = await bot.download(voice, destination=buf)
except Exception as e:
print(f"{YELLOW} -- voice err - {e}{RESET}")
buf.seek(0) buf.seek(0)
try:
if brat:
result = await asyncio.to_thread( result = await asyncio.to_thread(
send_to_vosk, send_to_vosk,
buf.read() buf.read()
) )
except Exception as e:
prompt = f"<голосовое сообщение>ошибка подключения к api stt</голосовое сообщение>{prompt}"
print(f"{RED} -- voice err - {e}{RESET}")
else:
prompt = f"<голосовое сообщение>{result.get('text', 'не распознано')}</голосовое сообщение>{prompt}" prompt = f"<голосовое сообщение>{result.get('text', 'не распознано')}</голосовое сообщение>{prompt}"
if message.document: if message.document:
if message.document.file_size > 4096: if message.document.file_size > 4096:
if event.guest_message: await mans(message, "слишком много данных не хочу отвечать☝️☝️")
await g_answer(data, message, "слишком много данных не хочу отвечать☝️☝️")
elif event.message:
await message.reply("слишком много данных не хочу отвечать☝️☝️")
return return
file_bytes = io.BytesIO() file_bytes = io.BytesIO()
@@ -193,25 +198,16 @@ async def guest_middleware(handler, event, data):
prompt = f"<файл>{file_content}</файл>{prompt}" prompt = f"<файл>{file_content}</файл>{prompt}"
except UnicodeDecodeError: except UnicodeDecodeError:
if event.guest_message: await mans(message, "файл не вошёл брат❌❌")
await g_answer(data, message, "файл не вошёл брат❌❌")
elif event.message:
await message.reply("файл не вошёл брат❌❌")
return return
except Exception: except Exception:
if event.guest_message: await mans(message, "файл не вошёл ало ошибка❌❌")
await g_answer(data, message, "файл не вошёл ало ошибка❌❌")
elif event.message:
await message.reply("файл не вошёл ало ошибка❌❌")
return return
if replied and replied.document: if replied and replied.document:
if replied.document.file_size > 4096: if replied.document.file_size > 4096:
if event.guest_message: await mans(message, "слишком много данных не хочу отвечать☝️☝️")
await g_answer(data, message, "слишком много данных не хочу отвечать☝️☝️")
elif event.message:
await message.reply("слишком много данных не хочу отвечать☝️☝️")
return return
file_bytes = io.BytesIO() file_bytes = io.BytesIO()
@@ -222,10 +218,7 @@ async def guest_middleware(handler, event, data):
file_content = file_bytes.read().decode("utf-8", errors="ignore") file_content = file_bytes.read().decode("utf-8", errors="ignore")
prompt = f"<файл>{file_content}</файл>{prompt}" prompt = f"<файл>{file_content}</файл>{prompt}"
except UnicodeDecodeError: except UnicodeDecodeError:
if event.guest_message: await mans(message, "файл не вошёл❌")
await g_answer(data, message, "файл не вошёл❌")
elif event.message:
await message.reply("файл не вошёл❌")
return return
except Exception as e: except Exception as e:
print(f"{RED} -- {e}{RESET}") print(f"{RED} -- {e}{RESET}")
@@ -317,7 +310,7 @@ async def guest_middleware(handler, event, data):
] ]
) )
if event.guest_message: if event.guest_message:
await g_answer(data, message, alloh_one_text, reply_markup=reply_markup_url) await g_answer(message, alloh_one_text, reply_markup=reply_markup_url)
elif event.message: elif event.message:
await message.reply_rich(InputRichMessage(markdown="# новый крутой стилёк\n*da*\n```\nтестовое сообщение врат\n```")) await message.reply_rich(InputRichMessage(markdown="# новый крутой стилёк\n*da*\n```\nтестовое сообщение врат\n```"))
await message.answer(alloh_text, reply_markup=reply_markup) await message.answer(alloh_text, reply_markup=reply_markup)
@@ -438,7 +431,7 @@ async def guest_middleware(handler, event, data):
) )
except Exception as e: except Exception as e:
if event.guest_message: if event.guest_message:
await g_answer(data, message, "гостевой режим не работает с опросами. либо добавь меня " \ await g_answer(message, "гостевой режим не работает с опросами. либо добавь меня " \
"в группу, либо напиши мне в личку чтобы я выдал тебе опрос. ✅" "в группу, либо напиши мне в личку чтобы я выдал тебе опрос. ✅"
) )
else: else:
@@ -446,7 +439,7 @@ async def guest_middleware(handler, event, data):
return return
if result and event.guest_message: if result and event.guest_message:
await g_answer(data, message, "отправил опрос в личку, так как гостевой режим не работает с " \ await g_answer(message, "отправил опрос в личку, так как гостевой режим не работает с " \
"опросами✅✅" "опросами✅✅"
) )
@@ -461,7 +454,7 @@ async def guest_middleware(handler, event, data):
try: try:
if event.guest_message: if event.guest_message:
await g_answer(data, message, result, user_id=user_id) await g_answer(message, result, user_id=user_id)
elif event.message: elif event.message:
if msg: if msg:
if stream == "native": if stream == "native":
@@ -481,7 +474,7 @@ async def guest_middleware(handler, event, data):
kwargs["parse_mode"] = None kwargs["parse_mode"] = None
try: try:
if event.guest_message: if event.guest_message:
await g_answer(data, message, result) await g_answer(message, result)
elif event.message: elif event.message:
if msg: if msg:
if stream == "native": if stream == "native":
+12 -7
View File
@@ -70,19 +70,19 @@ def clean_tail_repeats(text: str, max_repeat: int = 10):
def parse_response(text: str): def parse_response(text: str):
if "Connection error." in text: if "connection error." in text:
return { return {
"type": "connection", "type": "connection",
"message": "ошибка подключения к провайдеру. подожди или смени провайдера в настройках узбекгпт.", "message": "ошибка подключения к провайдеру. подожди или смени провайдера в настройках узбекгпт.",
} }
elif "Model quota exceeded" in text: elif "model quota exceeded" in text:
return { return {
"type": "quota", "type": "quota",
"message": "лимит токенов закончился. подожди или смени модель.", "message": "лимит токенов закончился. подожди или смени модель.",
} }
elif "tier capacity exceeded." in text: elif "tier capacity exceeded." in text:
return {"type": "tier", "message": "попробуй ещё раз!"} return {"type": "tier", "message": "попробуй ещё раз!"}
elif "Internal server" in text: elif "internal server" in text:
return { return {
"type": "int", "type": "int",
"message": "произошла ошибка на стороне провайдера. подожди или смени провайдера в настройках узбекгпт.", "message": "произошла ошибка на стороне провайдера. подожди или смени провайдера в настройках узбекгпт.",
@@ -92,10 +92,15 @@ def parse_response(text: str):
"type": "incomplete", "type": "incomplete",
"message": "сервер петух и оборвал соединение. подожди или смени провайдера в настройках узбекгпт.", "message": "сервер петух и оборвал соединение. подожди или смени провайдера в настройках узбекгпт.",
} }
elif "invalid token" in text: elif "provider error" in text:
return { return {
"type": "incomplete", "type": "provider",
"message": "указан неверный токен. смени провайдера или модель.", "message": "врат ошибка на стороне провайдера модели. смени провайдера или модель.",
}
elif "rate limit" in text:
return {
"type": "quota",
"message": "лимит токенов закончился у провайдера врат. подожди или смени модель.",
} }
else: else:
return { return {
@@ -406,7 +411,7 @@ async def openai_generate_text(
else: else:
text = completion.choices[0].message.content text = completion.choices[0].message.content
except Exception as e: except Exception as e:
error = parse_response(str(e)) error = parse_response(str(e).lower())
print(f"{RED} -- {error['type']} - {e}{RESET}") print(f"{RED} -- {error['type']} - {e}{RESET}")
return error["message"] return error["message"]
else: else: