From c033859505baa8657c3308d0abdefce610d997fa Mon Sep 17 00:00:00 2001 From: huker667 Date: Sun, 5 Jul 2026 14:52:57 +0300 Subject: hz ne pomny --- main.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index 0d45504..8f08674 100644 --- a/main.py +++ b/main.py @@ -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( -- cgit v1.3.1