1
0
Fork 0
mirror of https://github.com/EDeev/mospoly-helper.git synced 2026-10-07 20:49:32 +03:00
mospoly-helper/README.en.md

2.7 KiB
Raw Blame History

MosPolyHelper

Русский · English

CI Release

A Telegram bot that sends a video route to a classroom in Moscow Polytechnic University buildings: pick a campus, type the room number and get a video note with the way from the campus gate or from the building entrance.

Status: team coursework (project practice, Moscow Polytech, group 241-327, 2025), completed · bot @MosPoly_Helperbot

Stack: Python 3.10 · aiogram 3 · MoviePy 2 · FFmpeg · Docker

Features

  • Five campuses: Bolshaya Semyonovskaya, Pavla Korchagina, Pryanishnikova, Mikhalkovskaya, Avtozavodskaya
  • A route from the campus gate or the building entrance: the clip is assembled from "building → floor → room" fragments, sped up 2× and encoded for Telegram (H.264, 1500k)
  • Finished clips are cached and repeat requests are instant; combine.py pre-builds the cache
  • Room number validation with hints when the format or campus doesn't match

Videos were filmed for the Pryanishnikova buildings (76 rooms) and partly for Avtozavodskaya; for other campuses the bot replies that the route isn't available yet and suggests writing by email.

Running

git clone https://github.com/EDeev/mospoly-helper.git && cd mospoly-helper
cp .env.example .env      # BOT_TOKEN from @BotFather
docker compose up -d

Prebuilt image (videos inside, the route cache is built on the fly):

docker run -d -e BOT_TOKEN=token -v mospoly-cache:/app/src/data/cache -v mospoly-users:/app/src/data/users ghcr.io/edeev/mospoly-helper

(same as git.deev.su/edeev/mospoly-helper).

Without Docker: Python 3.10+, FFmpeg, pip install -r requirements.txt, then cd src/code && BOT_TOKEN=… python bot.py. More in QUICKSTART.md and DOCKER.md (in Russian).

Note

The repository holds about 220 video clips (sources and cache), so it is over 500 MB.

License

Coursework (project practice, Moscow Polytechnic University, 2025). The code is open for study; there is no separate license.

Authors


⭐ If you find this project useful, give it a star on GitHub!

Made with ❤️ by Moscow Polytech students, group 241-327