Промпт на основе бота по маникюру
Напиши полностью готового Telegram-бота на Python с использованием библиотеки aiogram (последняя стабильная версия) и SQLite для базы данных.
Бот предназначен для мастера по маникюру
Бот должен показывать доступные дни и время для записи.
Расписание формируется на 1 месяц вперед.
может записаться только на 1 свободный слот
после бронирования выбранное время автоматически становится недоступным
После выбора времени бот должен запросить:
запись сохраняется в базе данных
информация отправляется владельцу бота (ID администратора)
дополнительно формируется сообщение в отдельный Telegram-канал с расписанием
У пользователя должна быть возможность отменить свою запись.
Должна быть админ-панель (доступ только по ID администратора), где можно:
добавлять/удалять временные слоты
полностью закрывать определенный день
просматривать расписание на выбранную дату
Интерфейс должен быть через inline-кнопки.
Все состояния должны быть реализованы через FSM.
структурирован по файлам (bot.py, handlers, database, config и т.д.)
с инструкцией по установке зависимостей
Проверка, чтобы один пользователь не мог записаться на несколько дат одновременно
При отмене записи слот снова становится доступным
Использовать календарь через inline-кнопки
Красивое форматирование сообщений (HTML)
инструкцию по запуску 1. Добавить кнопку "Прайсы"
Добавить кнопку в главное меню.
При нажатии отправлять HTML-сообщение:
2. Добавить кнопку " Портфолио"
Добавить кнопку в главное меню.
При нажатии отправлять сообщение с inline-кнопкой:
Текст кнопки:
Смотреть портфолио
Ссылка:
https://ru.pinterest.com/crystalwithluv/_created/
3. Добавить обязательную проверку подписки на канал
Использовать getChatMember для проверки.
Если пользователь не подписан:
сообщение:
"Для записи необходимо подписаться на канал"
кнопки:
Подписаться (ссылка на канал)
Проверить подписку
После успешной проверки — открыть доступ.
4. Добавить автонапоминание за 24 часа до записи
Использовать APScheduler (AsyncIOScheduler).
автоматически планировать задачу отправки напоминания за 24 часа до даты и времени записи.
задача напоминания должна удаляться.
"Напоминаем, что вы записаны на наращивание ресниц завтра в {время}.
Ждём вас ️"
Если запись создана менее чем за 24 часа до визита:
Задачи должны корректно работать после перезапуска бота:
при старте бота нужно восстанавливать задачи из базы данных.