Большое обновление бегового бота для Телеграм RunCalcBot

На прошлой неделе закончил обновление своего бота для Телеграма, который рассчитывает дистанцию и продолжительность структурированной беговой тренировки.

В первоначальной версии он поддерживал формулы тренировок и названия темпов из книги ДД. Сейчас формат довольно гибкий. Вы отправляете ему сообщение вида: WU=5:00,T10=3:40,E=4:30,T5=3:30,Rest=10:00,M=4:00;15:00WU + 3T10 + 1.5E + 5 * (0.4T5 + 00:30Rest) + 1.5E + 1:30:00M. Первая часть сообщения содержит значения темпа в мин/км (T10, Rest, M и т.д.), а вторая часть схему тренировки (в данном примере схема читается так: 15 минут в разогревочном темпе, потом полтора километра в легком темпе, затем 5 повторов 400 метров в темпе пятерки и 30 секунд паузы, после 5 повторов полтора километра в легком темпе и затем полтора часа в марафонском темпе). В ответ получаете: Estimated distance - 33.750, time - 02:19:00.

Поделился с коллегами по беговому клубу:

Поржали, конечно, дескать этим ботом я спасу не одну семью. Но пользоваться, конечно, кроме меня никто не будет. Несколько человек добавили его в мессенджер, отправили по пустому сообщению и на этом все закончилось.

Мой сценарий использования по-прежнему довольно простой: прикинуть сколько займет та или иная тренировка, получится ли уместить ее в имеющийся временной слот в расписании и не перевыполню ли недельный объем по километражу (если вдруг снова начну тренироваться по какому-то плану).

Вот бот https://t.me/RunCalcBot, а вот страница с более подробным описанием https://sandlex.github.io/runcalcbot/ (можно транслейтом перевести на русский). Также доступны исходники библиотеки, которая рассчитывает схему - https://github.com/sandlex/runcalc. Ну и исходники самого бота тоже открыты https://github.com/sandlex/runcalcbot.

А, ну и в имперской системе (это такая экзотическая система, когда дистанция измеряется в милях, а темп в минутах на милю) по идее тоже должно работать. По крайней мере если дистанция задается целыми значениями. С дробными значениями я не тестировал. Ведь в метрической системе дробные значения это сотни метров, а в имперской что - футы, ярды, сажени, аршины, локти, попугаи? Решил не заморачиваться особо.