Разработка телеграмм-бота для организации учебных курсов
Введение
При решении вопросов образовательного характера возникает необходимость в получении экспертных консультаций. При этом есть две стороны: потребитель консультации и консультирующее лицо. С другой стороны, консультант вынужден выделять время на проведение консультации. В следствие ограниченности физических возможностей, возможности консультирования ограничены. При увеличении объема обращений за консультациями может снизиться качество обучения, для сокращения количества обращений может повыситься цена консультаций. Описанная проблема несоответствия возможностей консультанта потребностям консультируемого может эффективно решаться автоматизацией. При этом важно, чтобы автоматизированное решение было надежным (чтобы на его решения можно было опираться, чтобы оно было подкреплено ссылками на юридические документы, юридические статьи), предлагало удобный интерфейс для консультируемого (доступность, быстрое решение вопросов), возможность расширения возможностей по консультации для обучающихся.
Для автоматизации решений нам понадобиться экспертная система на основе баз знаний, заранее проверенных самими педагогами предметниками. В качестве пользовательского интерфейса подобрана технология на основе популярного мессенджера Telegram, в котором реализована возможность общения с роботами (далее ботами).
Задачи дипломной работы:
Содержание
Введение 5
1 Введение в экспертные системы и защиты интеллектуальной собственности 7
1.1 Экспертные системы 8
1.2 Выбор технологии для реализации 9
1.3 Выбор технологий для использования 11
1.4 Выбор соответствующих модулей и библиотек на языке Python 12
1.5 Как создать чат-бота для Telegram с помощью Python 13
1.6 Чат-боты в электронном обучении 27
2 Реализация экспертной системы для бота 31
2.1 Этапы разработки 31
2.2 Telegram Бот 31
2.3 Подключение библиотеки Fysom 32
2.4 ApiTelegramBot 36
2.5 Технология добавления новых веток в детерминированного конечного автомата 36
2.6 Интерфейс и тестирование telegram-бота для организации учебного курса
Заключение 32
Список использованных источников 33
Список использованных источников
«Правовая охрана программ и баз данных” [Электронный ресурс]. - Режим доступа: http://compress.ru/article.aspx?id=10582, свободный.
«Экспертная система” [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki, свободный.
«CLIPS” [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/CLIPS, свободный.
«JavaScript” [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/JavaScript, свободный.
«PHP” [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/PHP, свободный.
6. «Пишем бота для Telegram на языке Python” [Электронный ресурс].- Режим доступа: https://www.gitbook.com/book/groosha/telegram-bot-lessons/details, свободный.
«Модуль time” [Электронный ресурс]. - Режим доступа: https://pythonworld.ru/moduli/modul-time.html, свободный
«Библиотека Fysom” [Электронный ресурс]. - Режим доступа: https://github.com/mriehl/fysom, свободный
«Callbaks” [Электронный ресурс]. - Режим доступа: https://github.com/tyarkoni/transitions#transition-callbacks, свободный
«Конечные автоматы. Пишем ДКА” [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/141503/, свободный
11. Общая информация про Telegram [Электронный ресурс]. – Режим доступа: https://en.wikipedia.org/wiki/Telegram_(software).
API на Python для создания Telegram бота [Электронный ресурс]. – Режим доступа: https://github.com/eternnoir/pyTelegramBotAPI.
Официальный сайт Python [Электронный ресурс]. – Режим доступа: https://www.python.org/.
Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 1280 с.
Златопольский Д.М. Основы программирования на языке Python. – М.: ДМК Пресс, 2017. – 284 с.
Лутц М. Программирование на Python, том I, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 992 с.
Лутц М. Программирование на Python, том II, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 992 с.
Вы работаете со скриптовыми языками, которые сложно интегрировать в веб-сервер.
У бота высокая нагрузка.
Вы меняете сервер бота время от времени.
Метод с Webhook лучше подойдет в таких случаях:
Вы используете веб-языки (например, PHP).
У бота низкая нагрузка, и нет смысла делать запросы вручную.
Бот на постоянной основе интегрирован в веб-сервер.
В этом руководстве будет использоваться метод getUpdates.
Еще один вопрос: как создать зарегистрировать бота?