No description
Find a file
2026-09-09 21:51:26 +00:00
bot hide map action for failed routes 2026-09-09 17:57:48 +00:00
event migrate bot to schedule API 2026-08-30 11:43:38 +00:00
models embed pathfinder map and render route instructions 2026-09-09 17:42:31 +00:00
users migrate repo w/ commit history cleanup 2026-08-30 13:48:59 +03:00
utils added search handle via start 2026-08-31 23:45:03 +03:00
web refine route map colors and layout 2026-09-09 21:51:26 +00:00
.gitignore embed pathfinder map and render route instructions 2026-09-09 17:42:31 +00:00
.python-version migrate repo w/ commit history cleanup 2026-08-30 13:48:59 +03:00
config.example.py embed pathfinder map and render route instructions 2026-09-09 17:42:31 +00:00
LICENSE migrate repo w/ commit history cleanup 2026-08-30 13:48:59 +03:00
main.py redesign map and mock navigator flow 2026-09-09 17:08:45 +00:00
pyproject.toml added rich lib for displaying debug values 2026-08-31 21:17:15 +03:00
README.md embed pathfinder map and render route instructions 2026-09-09 17:42:31 +00:00
support.json added link to source code 2026-08-31 19:54:41 +03:00
uv.lock added rich lib for displaying debug values 2026-08-31 21:17:15 +03:00

Исходный код затупса

Прошлая история была удалена

Запуск

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 этажей содержат соответствующую группу #Точки.