🛡 Защита от 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()
busy_times = get_busy_times(
master=data["master"],
master=data.get("master", "?"),
date=selected_date
)
@@ -171,9 +171,9 @@ async def choose_time(
await callback.message.edit_text(
f"📋 Проверьте запись:\n\n"
f"💆 Услуга: {data['service']}\n"
f"📅 Дата: {data['date']}\n"
f"👤 Мастер:{data['master']}\n"
f"💆 Услуга: {data.get("service", "?")}\n"
f"📅 Дата: {data.get("date", "?")}\n"
f"👤 Мастер:{data.get("master", "?")}\n"
f"🕒 Время: {selected_time}",
reply_markup=get_confirm_booking_keyboard()
)
@@ -200,10 +200,10 @@ async def confirm_booking_callback(
update_booking(
booking_id=editing_booking_id,
service=data["service"],
master=data["master"],
date=data["date"],
time=data["time"]
service=data.get("service", "?"),
master=data.get("master", "?"),
date=data.get("date", "?"),
time=data.get("time", "?")
)
result_text = "✅ Запись успешно обновлена"
@@ -212,10 +212,10 @@ async def confirm_booking_callback(
create_booking(
user_id=callback.from_user.id,
service=data["service"],
master=data["master"],
date=data["date"],
time=data["time"]
service=data.get("service", "?"),
master=data.get("master", "?"),
date=data.get("date", "?"),
time=data.get("time", "?")
)
result_text = "✅ Запись успешно создана"