diff options
| author | huker667 <huker@tuta.io> | 2026-07-05 14:52:57 +0300 |
|---|---|---|
| committer | huker667 <huker@tuta.io> | 2026-07-05 14:52:57 +0300 |
| commit | c033859505baa8657c3308d0abdefce610d997fa (patch) | |
| tree | 4eb4b528cd8f12b9aeeb4d9cdd16d8a29e86508c | |
| parent | 38b936b35f460c25d04ff187dac10ba6cf1e6968 (diff) | |
| download | uzbekgpt-c033859505baa8657c3308d0abdefce610d997fa.tar.gz uzbekgpt-c033859505baa8657c3308d0abdefce610d997fa.tar.bz2 uzbekgpt-c033859505baa8657c3308d0abdefce610d997fa.zip | |
hz ne pomny
| -rw-r--r-- | commands.py | 2 | ||||
| -rw-r--r-- | helpers.py | 14 | ||||
| -rw-r--r-- | main.py | 18 | ||||
| -rw-r--r-- | supergenerator.py | 11 |
4 files changed, 32 insertions, 13 deletions
diff --git a/commands.py b/commands.py index 3c4b60c..69fa03d 100644 --- a/commands.py +++ b/commands.py @@ -197,7 +197,7 @@ async def config_handler(message: Message): f"🤝 *конфиг узбекгпт*:\n`MAX_CONTEXT` = `{MAX_CONTEXT}`\n`MAX_PROMPT` = `{MAX_PROMPT}`\n" f"`DEFAULT_MODEL` = `{DEFAULT_MODEL}`\n`IMAGE_MODEL` = `{IMAGE_MODEL}`\n" f"`DEFAULT_STREAM` = `{DEFAULT_STREAM}`\n" - "если нужно что-то изменить здесь, то обратитесь к владельцу бота🥺" + "/settings для изменения настроек!" ) else: if SHOW_ACC_MSG: @@ -9,14 +9,18 @@ from supergenerator import * def is_blocked(user_id): current_time = time.time() - if user_id: - if not user_id in last_command_time: - last_command_time[user_id] = current_time - 3 - time_diff = current_time - last_command_time[user_id] + if user_id and user_id in last_command_time: + time_diff = current_time - last_command_time[user_id][0] if time_diff < 3: alo = "🚫 *файл не вошёл.* хватит так быстро слать свои сообщения.\n" \ f"подожди {round(3 - time_diff, 3)} секунд, брат😡😡" - return alo, True + elif last_command_time[user_id][1] and time_diff < 10: + alo = "🚫 *файл не вошёл.* я ещё не сгенерировал прошлое сообщение.\n" \ + f"подожди {round(10 - time_diff, 3)} секунд, чтобы я закрыл глаза " \ + "на это da." + else: + return "", False + return alo, True return "", False @@ -93,10 +93,13 @@ async def guest_middleware(handler, event, data): if not is_replied_bot(message, is_channel, user_text, config) and event.message: return - + + # снизу очень важный кусок кода!! у нас же async бот да ну вот + # если переслать несколько сообщений то удасться обойти ограничение + # по задержке между генерациями и поэтому тут такое решение + # скоро это будет нормально реализовано. ждите. if user_id: - if is_channel: - await asyncio.sleep(uniform(0,1)) + await asyncio.sleep(uniform(0,1)) text, blocked = is_blocked(user_id) if blocked: @@ -120,7 +123,7 @@ async def guest_middleware(handler, event, data): ensure_user(user_id) - last_command_time[user_id] = current_time + last_command_time[user_id] = [current_time, True] msg = None replied = message.reply_to_message or None @@ -307,6 +310,8 @@ async def guest_middleware(handler, event, data): add_one_to("stats/guest") else: return + + last_command_time[user_id][1] = False try: if event.guest_message: @@ -392,13 +397,16 @@ async def chosen_inline_result_handler(chosen_result: ChosenInlineResult): inline_message_id=inline_message_id ) return - last_command_time[user_id] = current_time + + last_command_time[user_id] = [current_time, True] + if inline_message_id: try: result = await generate( prompt=chosen_result.query[:MAX_PROMPT], user_id=chosen_result.from_user.id, ) + last_command_time[user_id][1] = False except Exception as e: error = parse_response(str(e)) await bot.edit_message_text( diff --git a/supergenerator.py b/supergenerator.py index 83c359b..f63e00a 100644 --- a/supergenerator.py +++ b/supergenerator.py @@ -202,8 +202,15 @@ async def generate( text = "" add_one_to("stats/gens") - - client = providers[model[0]] + + try: + client = providers[model[0]] + except Exception: + text = "произошла ошибка, возможные проблемы:\n" \ + "1. у вас выбрана удалённая модель или провайдер\n" \ + "2. конфиг бота настроен неправильно и надо связаться с хостом бота" + return text + text = await openai_generate_text( oai=client, bot=bot, |