diff --git a/src/handlers.py b/src/handlers.py index 5de0883..9b8e1ee 100644 --- a/src/handlers.py +++ b/src/handlers.py @@ -581,7 +581,7 @@ async def handle_confirm_upload( del context.user_data["pending_scenario"] - # Уведомляем пользователей в NO_MORE_SCENARIOS + # Уведомляем и переводим пользователей в NO_MORE_SCENARIOS на новый сценарий for waiting_user_id in get_users_in_state(UserState.NO_MORE_SCENARIOS): try: with get_connection() as conn: @@ -589,8 +589,23 @@ async def handle_confirm_upload( "SELECT telegram_id FROM users WHERE id = ?", (waiting_user_id,) ).fetchone() if row: - msg = "🎉 Появился новый сценарий! Используйте /start" - await context.bot.send_message(row[0], msg) + waiting_session = get_user_session(waiting_user_id) + if waiting_session: + track = find_available_track(waiting_user_id) + if track: + scenario_id, speaker_id = track + waiting_session.state = UserState.FIRST_REPLICA + waiting_session.scenario_id = scenario_id + waiting_session.speaker_id = speaker_id + waiting_session.replica_index = 0 + upsert_user_session(waiting_session) + + replica_text = get_current_replica_text(waiting_session) + msg = ( + f"🎉 Появился новый сценарий!\n\n" + f"{FIRST_REPLICA_INSTRUCTIONS}\n\n{replica_text}" + ) + await context.bot.send_message(row[0], msg) except Exception: pass