bot/README.md
2026-09-09 17:42:31 +00:00

32 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Исходный код затупса
> Прошлая история была удалена
# Запуск
```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 этажей содержат соответствующую группу `#Точки`.