Войти Создать аккаунт

Бот записи без сети · Шаг 4 из 4

Записать или снять

Человек сказал «да» — пора записывать. Но пока он выбирал, в бот писали и другие: последнее окно на четверг могли занять за те полминуты, что он думал. Проверять надо в момент записи, а не в момент вопроса.

И у Валеры правило: одна машина от человека в день. Записался на утро и хочешь ещё на вечер — сначала сними первую запись. Снять свою запись бот тоже должен уметь — командой «/snyat».

Что сделать

Запишите человека на выбранное время, если оно ещё свободно, или снимите все его записи — смотря что пришло из разговора.

Что приходит

  • zapisi — все записи автосервиса: словари {"chat": …, "den": …, "vremya": …, "usluga": …}

  • chat — кто пишет боту: имя чата, например "Олег"

  • sostoyanie — состояние из шага 2: {"shag": "gotovo", "usluga": …, "den": …, "vremya": …} или {"shag": "snyat"}

Что вернуть

Пару (ответ, новые_записи): строка для человека и новый список записей; полученный список не меняйте.

Допишите функцию zapisat в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В проекте

Бот зовёт zapisat, когда разговор дошёл до gotovo или snyat, и сохраняет новые записи в zapisi.json. Решите шаг — и бот начнёт записывать по-настоящему.

Вызов
zapisat([], "Олег", {"shag": "gotovo", "usluga": "ТО", "den": "03.12", "vremya": "10:00"})
Вернуть
('Готово! Ждём вас 03.12 в 10:00, ТО.', [{'chat': 'Олег', 'den': '03.12', 'vremya': '10:00', 'usluga': 'ТО'}])
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.