# Исходный код затупса > Прошлая история была удалена # Запуск ```sh cp config.example.py config.py ``` Далее заполнить конфиг ``` uv run main.py ``` Запускает два процесса: - `eventloop` (`./event/__init__.py:run`) для отправки уведомлений и различных cron-like задач - `mainloop` (`./bot/__init__.py:run`) сам бот ## Решение проблем - Если не работает рассылка с json то надо создать папку `./temp` руками - Оно вообще не запустится без бекенда расписания, при желании его можно зареверсить из этого исходного кода, либо я когда-нибудь сделаю версию без парсеров ## Карта и навигатор Карта использует статичную светлую тему и не зависит от Telegram theme переменных. Вкладка «Навигатор» отправляет в бот проверенный JSON-запрос `route.request` через `Telegram.WebApp.sendData`. Обработчик находится в `bot/navigator.py`, а протокол — в `models/navigator.py`. Скомпилированный граф встроен в `web/map/data/navigator.json`: этот файл одновременно читают бот и WebView. `calculate_route` строит путь без сетевых запросов; внешний API навигатора используется только как эталон при проверке. UI получает номера этажей и индексы точек и рисует маршрут по координатам из того же manifest. SVG этажей содержат соответствующую группу `#Точки`.