🛡 Защита от KeyError: data.get() вместо прямых ключей

- Все обращения data["key"] заменены на data.get("key", "?")
- При незаполненных данных FSM бот покажет "?" вместо падения с ошибкой
This commit is contained in:
DevProject Agent
2026-06-14 19:22:43 +04:00
parent 866a01d700
commit 36cb227eb9
+12 -12
View File
@@ -128,7 +128,7 @@ async def choose_date(
data = await state.get_data() data = await state.get_data()
busy_times = get_busy_times( busy_times = get_busy_times(
master=data["master"], master=data.get("master", "?"),
date=selected_date date=selected_date
) )
@@ -171,9 +171,9 @@ async def choose_time(
await callback.message.edit_text( await callback.message.edit_text(
f"📋 Проверьте запись:\n\n" f"📋 Проверьте запись:\n\n"
f"💆 Услуга: {data['service']}\n" f"💆 Услуга: {data.get("service", "?")}\n"
f"📅 Дата: {data['date']}\n" f"📅 Дата: {data.get("date", "?")}\n"
f"👤 Мастер:{data['master']}\n" f"👤 Мастер:{data.get("master", "?")}\n"
f"🕒 Время: {selected_time}", f"🕒 Время: {selected_time}",
reply_markup=get_confirm_booking_keyboard() reply_markup=get_confirm_booking_keyboard()
) )
@@ -200,10 +200,10 @@ async def confirm_booking_callback(
update_booking( update_booking(
booking_id=editing_booking_id, booking_id=editing_booking_id,
service=data["service"], service=data.get("service", "?"),
master=data["master"], master=data.get("master", "?"),
date=data["date"], date=data.get("date", "?"),
time=data["time"] time=data.get("time", "?")
) )
result_text = "✅ Запись успешно обновлена" result_text = "✅ Запись успешно обновлена"
@@ -212,10 +212,10 @@ async def confirm_booking_callback(
create_booking( create_booking(
user_id=callback.from_user.id, user_id=callback.from_user.id,
service=data["service"], service=data.get("service", "?"),
master=data["master"], master=data.get("master", "?"),
date=data["date"], date=data.get("date", "?"),
time=data["time"] time=data.get("time", "?")
) )
result_text = "✅ Запись успешно создана" result_text = "✅ Запись успешно создана"