Open llirrikk opened 2 years ago
Ура, спасибо МИЭТу за https://miet.ru/schedule/data, где можно POST запросом получить данные в JSON без скрапинга
- найти свободные аудитории
Бесполезно. Таблица, которую выгружают на сайт миэта, не имеет изначально свободных аудиторий (поэтому всем отказывают в переносе пар, по таблицам в студофисе все забито), свободными они становятся из-за человеческого фактора, как и потом эти найденные "свободные" становятся "занятыми".
- узнать расписание на неделю/день
- узнать расписание преподавателя
Реализовано уже аж в двух местах:
- подписаться на уведомления о расписании следующего дня/следующей недели
Реализовано в Schedule_MIET_bot. Функция удобна только в первый месяц обучения, и то, уведомления часто достают.
Считаю, что не имеет смысла реализовывать эту функцию, потому что:
Если возникнет запрос от пользователей - можно будет вернуться к обсуждению. Пока идем конкретно по пути "бота для отслеживания изменений в ОРИОКС".
@marplyn Мне кажется, что используя Gaming Platform, можно тянуть HTML5 странички и сделать их достаточно удобными для использования. А что касается дублирования функционала в ботах - зачем использовать N источников информации, если её можно собрать в одном месте сделав аля all in one?
Не думаю, что на данном этапе развития нашего бота просто имеет смысл браться за реализацию этого дополнения, по нескольким причинам
Как закроем основные проблемы и сделаем рефакторинг, вернемся к этому вопросу
Хороший повод вернуться к разработке.
Как я и говорил в #38 готов взяться за работу.
Проблемы те же, подумаем как их решить?
Тогда удачно сдохли те варианты 👍🏻
Какие можешь предложить варианты реализации? На мой взгляд, webview или gaming platform (как предлагали выше) было бы более удобно, чем куча команд, как в старом боте с расписанием. Это не будет мешать основному потоку оповещений, и взаимодействовать пользователям будет приятнее и интуитивно понятнее. Можем попробовать сделать подобное?
Js я не знаю, можно генерировать картинки.
Но если раскумариться, можно попробовать написать webApp на js.
Webview и gaming platform не нативны, поэтому возможна неплавная работа. К тому же эти технологии позволяют немного деанонить пользователей, а у нас политика такая, что нужно стараться собирать как можно меньше информации, потому что пользователь и так оставляет свой пароль (#26). Можно использовать inline-кнопочки или даже aiogram dialog. А выводить каким-нибудь красивым сообщением.
Прошлые варианты сдохли возможно ненадолго. Может они ещё не успели обновить данные, а может МИЭТ подсунул палку в колеса, изменив респонс какой-то.
- У нас в группе числитель и два расписания для знаменателя.
У всех по умолчанию два числителя и два знаменателя. У тебя видимо два числителя равны между собой
- Как понимать когда большая перемена?
Никак, это зависит от договоренности студентов с преподом
- Откуда брать актуальное расписание?
На https://miet.ru/schedule актуальное, но студенты могут попросить препода перенести пару, тогда на этом сайте это не учтется. Возможно, надо продумать логику изменения расписания от учеников, чтобы они могли перемещать пары.
Если я буду хранить расписание в json, а бот будет его оттуда забирать, хороший ли это подход?
Да, но можно и в БД хранить. После рефакторинга #22 появится ORM.
Планирую написать таску для celery crontab для актуализации расписания.
Про celery есть задача #31, так что проблем нет. Но обновляет ли студофис это расписание? Можно раз в неделю проверять это, конечно.
Скоро доделаем рефакторинг, тогда можно будет продолжить разработку, поскольку там новые абстракции, чтоб потом не решать конфликты
Тогда жду рефакторинг
Вчера бот с расписанием ожил. Тогда наша задача обдумать и потенциально сделать более удобное решение
@Whom-m0rty, рефакторинг #22 готов
.png
/.pdf
документ с расписанием на все недели исходя из получаемых данныхЧто-то вроде @Schedule_MIET_bot: