Conversation with Merlin · Thu Dec 07 2023

Напиши телеграмм бота, который будет выдавать расписание студентам.

  1. Юзер заходит и ему задается вопрос "Выберите направление подготовки" (Ну среднее или высшее образование) Или же можно сделать "Выберите раздел" (И там будет "ВО", "СПО", "Пересдачи"
  2. После того как чел выбрал, там либо высшее (ВО), либо среднее (СПО). Задаётся следующий вопрос. Если ВО то выберите форму обучения ( Очная или заочная) Если СПО, то там один вариант и там дальше предлагаешь выбрать неделю, которые написаны на сайте и соответственно после выбора недели ему прилетает расписание.
  3. При ВО и после выбора формы обучения там несколько путей. Если очная, то чел выбирает неделю и ему падает расписание. Если заочное, то чел выбирает группу и ему падает расписание. Вот ссылка на расписание: https://vvfmtuci.ru/studentam/raspisanie-zanyatij-i-ekzamenov/

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

  1. Приветствие и запрос направления подготовки:
Приветствую Вас! 🎓 Давайте помогу Вам найти нужное расписание. Выберите направление подготовки: - ВО (Высшее образование) - СПО (Среднее профессиональное образование) - Пересдачи
  1. Ответы и фильтрация по категориям:

    • При выборе ВО:
      Выберите форму обучения: - Очная - Заочная
    • При выборе СПО или Пересдачи:
      Выберите интересующую Вас неделю:
      И далее показать список недель, доступных на сайте.
  2. Подбор расписания в зависимости от формы обучения:

    • При выборе Очной формы обучения после пункта 2:

      Выберите интересующую Вас неделю:

      После выбора пользователем недели, бот отправляет расписание.

    • При выборе Заочной формы обучения:

      Введите номер своей группы:

      После ввода номера группы пользователем, бот отправляет расписание.

  3. Отправка расписания:

    • Бот извлекает расписание с веб-сайта и форматирует его для отправки пользователю в удобной форме, либо текстом, либо в виде файла PDF.

Для реализации этого бота на практике понадобится использование Telegram Bot API, а также скрипт для парсинга сайта с расписанием, чтобы получать актуальные данные. Скрипт следует настроить таким образом, чтобы он автоматически обновлял информацию о расписании в базе данных бота.

Чтобы бот был функциональным, его программное обеспечение должно включать обработку команд от пользователя, выдачу вопросов и вариантов ответов в соответствии с описанным сценарием, а также обработку и отправку расписания. Технологии, которые могут быть использованы для этого, включают Python с библиотеками telebot или pyTelegramBotAPI, а также фреймворк Flask или Django для бэкенда. Для парсинга сайта могут подойти библиотеки Beautiful Soup или Scrapy.

- - , , , . (YouTube) (YouTube) ( ). . . ( ). . PDF- . . ( .. ), . inline- - "@mtusi_bot". : /help, /start, /ping, /photo .. (, , ). . Telegram . : @mtusi_bot. ( ) " ". "". , unix- . git, docker docker-compose. . : git clone https://github.com/vlad-gavrilov/skf_mtusi_telegram_bot.git .env_example .env: .env DB_HOST, DB_NAME, DB_USER, DB_PASS, DB_ROOT_PASS . : DB_HOST="db" DB_NAME="skf_mtusi_bot" DB_USER="user" DB_PASS="password" DB_ROOT_PASS="rootpassword" API- -. . TG_TOKEN. : docker-compose up --build , . /ping. "pong". : - - - - - - JavaScript ECMAScript Node.js npm node-telegram-bot-api Long Polling vs WebHooks MVC Jest 1. . - , , , . -. - : -, , , , . , 2018 , . . : ; ; ; . -. - . : 40% - ; 35% , , , -; 55% -; 21% - . , - , . , , , . 2. - , , . , . . , . -. - , . . , - . - , . , - , . , - . - , . - - , , . , , -, . - . - , . , - , . . - , , . , - - . , , - . - . - . - - , . , , -, . . , - . , - . , . , , , - . , , . - . - - . , - . -. . , -, , , , , . -. - . - , , , . , . , , - . -. - . . -. . , -. , . , . . - . , , , . - , . - . - . -. , . , , , , . , - . - , , , . -. , -. - - . : , , . , , GUI (Graphical User Interface). , , . , , . , , , . , . , . . , - CLI (Command-Line Interface). - - , , , . . . - , -. - -. . . , , , . , . , -. . , . . . Aimylogic. , . , , . , . Bot Kits. - -. , , -, . . : Telegram, Facebook Messenger, Viber, Skype, , . . Botmother. Botmother CMS -. , . -, , , API, . : Telegram, Facebook Messenger, Viber, , . , . Botsify. - . Facebook Messenger Slack. . Chatfuel. Facebook Messenger. - . . Chatgun. - , . . Manybot. , Telegram, - Telegram. , , . . Robochat.io. - -. . . - - , , , . : Python, JavaScript, C# . : Telegram, Facebook Messenger, , - . . . , , , . , , . -. Botkit. JavaScript Node.js, TypeScript Microsoft. . Slack, . , LUIS.ai Microsoft. . . Microsoft Microsoft Bot Framework. Microsoft Bot Framework. , Mcirosoft 2016 Microsoft Build, - . , . Microsoft Bot Framework -. , . Bot Connector - , Telegram, Skype, Slack, Facebook Messenger, W

github.com

004.42 doi: 10.15827/0236-235X.142.466-473 2023. . 36. 3. . 466-473 - .. .. .. .., .., .. - // . 2023. . 36. 3. . 466-473. doi: 10.15827/0236-235X.142. 466-473 : 07.03.2023 : 05.04.2023 : 10.04.2023 . , , . ^-. ^-, , - . , - . . ( , ), . , . . , , . : Telegram-, -, , , - . - FFZF-2022-0003, - , 75254082 , , [1-3]. . , , , . , . -, , , , , . - (). , , : , - , , .. , . Telegram-. Telegram- , , , . -Telegram-. , , , . , ^- , . , [4, 5] Telegram- , , web- . . [6] : ( ) . , , . [7, 8] -, , , . - . - [9-11]. Telegram- , - [12, 13], [14] [15]. Telegram- - . , : - ; - ; - ; - , , ( ). Telegram- (https://t.me/ timetable_SPBU_bot) Python Poetry, AlOgram, Pylint, Pydantic, Cashews, SQLAlchemy, Gino, Babel, APSchedu-ler, Jinja2, Pyppeteer, Pdoc, GitHub Actions Docker Compose. Redis, - PostgreSQL. . API timetable.spbu.ru (https://timetable. spbu.ru/help), StudyDivisions ( ) Programs ( ). StudyDivisions Programs: - StudyDivisions ( ) (alias) ; - StudyDivisions ( alias) (program_ id) ; - Programs ( program_id) , . GET- https://timetable.spbu.ru/api/v1/educators/search /{query}, query - ( ), , . . , . , . 1 , . . . . 0. API timetable Schedule. 1. html- , Jinja2. 2. Pyppeteer 2.1. ( ) , Docker; 2.2. html-, 1, css-; 2.3. jpeg. , html- css- (. http://www.swsys. ru/uploaded/image/2023-3/2023-3-dop/31.jpg). - . 1. ER- Fig. 1. ER diagram of the database structure : . . -: , -. : ( , , ... ), , , ( -) / , ( , (. 2)), , - . , Redis. . docstrings - , . , - /, , , (http://www.swsys.ru/uploaded/image/2023-3/2023-3-dop/12.jpg). docstrings Pdoc. . Telegram- /statistics, , : Telegram, , , , . - - Telegram-, . . , Telegram . , , , . , , . , SPBU timetable _ X Q : ... 15-36 22.11 1 . 0 @ ! Q : /my_schedule /settings 17 : 21.13- : : 20:00 : : ^^^^^^ | ... (G) vQ/ . 2. Telegram- ( ) Fig. 2. An example of how a Telegram bot works (notification setup process) [16-18], ^- [19-21]. , -- [22-24]. , ^- - , . . - ; , , . , 400 . , - , , . 1. Fhndrich J. A literature review on the impact of digitalisation on management control. J. of Management Control, 2022, pp. 1-57. doi: 10.1007/s00187-022-00349-4. 2. Gupta R., Seetharaman A., Maddulety K. Critical success factors influencing the adoption of digitalisation for teaching and learning by business schools. Education and Inform. Tech., 2020, vol. 25, no. 5, pp. 3481-3502. doi: 10.1007/s10639-020-10246-9. 3. Xie P., Zhang H., Xu W., Hu Y. The Construction of a smart campus model based on big data. Proc. 6th ICSGEA, 2021, pp. 536-539. doi: 10.1109/ICSGEA53208.2021.00127. 4. .., .. Telegram- "Rsueschedulebot

cyberleninka.ru

ISSN 2410-700X 1/2020 1 OWEN Owen bgic, CODESYS Owen togic (FBD), CODESYS(IL (Instructs List), ST (Structured Text), LD (Ldder Digrm), FBD (Functmn Btock Digrm), SFC (Sequentil Functmn !), CFC ( Functkin !)) Rockwell RStogix IL (Instructs List), ST (Structured Text), LD (Ldder Digrm), FBD (Functmn Btock Digrm), SFC (Sequentil Functrnn !) Siemens Simtic FBD, LD, ST^^ement List), ST, GRAPH 7, HiGraph 7, SFC GE Fmuc Proficy Editrnn () CIMPLICITY ^ Editrnn FBD, IL, LD , , , 61131-3, LD, FBD, ST, IL, SFC. , . - . . 1. , .. (PLC): . / .. , .. , .. . - .: , 2016. - 188 . 2. . . . / . . , . . , . . , . . . 2- ., . . -: , 2010. - 128 . ISBN 978-5-9596-0670-1 3. 61131-3-2016 . 3. .., 2020 004.432 . . , , . -, , E-mail: [email protected] . . , , . -, , E-mail: natia.tataurova@gmail .com TELEGRAM-BOT Telegram, . Python Heroku. Telegram-bot. Telegram-bot, telegram, Python, Heroku, , . -( 37 J- ISSN 2410-700X 1/2020 R. I. Shakirov, GUMRF student, St. Petersburg, Russian Federation A. S. Tataurova, GUMRF student, St. Petersburg, Russian Federation SCHEDULE AUTOMATION THROUGH TELEGRAM-BOT Annotation The article is devoted to the development of the telegram bot, which solves the problem of schedule availability in an educational institution. The project was implemented using Python and Heroku. As a result, we received a simple and at the same time useful the Telegram-bot. Keywords Telegram-bot, telegram, Python, Heroku, university, schedule. Telegram 2015 , . , . Telegram [5]. , Telegram-bot (.1) Telegram - ( 50) ( 50) ( ) () Telegram 2019,tgstat.ru/research 2 - Telegram Telegram , . Telegram - -. bot. - , . , , Telegram. 3 -( 38 )- ISSN 2410-700X 1/2020 , , , , , . , , , . . Python 3.7 [4]. , -, , . , : "telebot" "requests" [2]. , "Heroku" [3], . "Heroku" - PaaS-, . , Rails ( ) (, Postgres , ). [1] ( ), @BotFather. , , , , , , . . , . "" . , . , , , . : 1. . : [ ]. - : https://habr.com/ru/post/262247/, . - ( : 20.09.2019). 2. A simple, but extensible Python implementation for the Telegram Bot API - Python Telegram bot api [ ]. - : https://github.com/eternnoir/pyTelegramBotAPI, . - ( 20.092019). 3. Heroku Dev Center. Page provides all published technical documentation for the Heroku platform [ ]. - : https://devcenter.heroku.com/categories/reference, . -( 21.09.2019). 4. Copyright, Python Software Foundation. Python 3.7.4 documentation [ ]. - : https://docs.python.org/3/, . - ( 20.09.2019). 5. . Telegram 2019 [ ]. - : https://www.iguides.ru/main/other/telegram_2019_v_tsifrakh/, . - ( 20.09.2019). . ., . ., 2020

cyberleninka.ru