No description
| bot | ||
| event | ||
| models | ||
| users | ||
| utils | ||
| web | ||
| .gitignore | ||
| .python-version | ||
| config.example.py | ||
| LICENSE | ||
| main.py | ||
| pyproject.toml | ||
| README.md | ||
| support.json | ||
| uv.lock | ||
Исходный код затупса
Прошлая история была удалена
Запуск
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 этажей содержат соответствующую группу #Точки.