Введение
1 Теоретические основы 5
1.1 Мессенджеры 5
1.2 Чат-боты 9
1.3 Обзор аналогов чат-ботов 11
1.3.1 Чат-бот каршеринга YouDrive 11
1.3.2 Чат-бот «Спорт-Экспресс» 12
1.3.3 Бот для заказа такси Maxim 13
1.3.4 Чат-бот «Какой счет?» 14
2 Выбор технологий и среды разработки 16
2.1 Выбранные технологии разработки 16
2.1.1 Node.js 16
2.1.2 Telegram Bot API 18
2.1.3 Heroku 19
2.1.4 MongoDB 20
2.2 Среда разработки 23
2.2.1 Visual Studio Code 23
3 Разработка информационной системы 25
3.1 Регистрация чат-бота для Telegram Bot API 25
3.2 Реализация клиентской части чат-бота 27
3.2 Проектирование и реализация базы данных чат-бота 30
3.3 Реализация серверной части чат-бота 31
3.4 Размещение чат-бота на удаленном сервере Heroku 35
Заключение
Список литературы
Приложение
Интернет в современных условиях - это универсальная среда для общения, развлечений и обучения. В настоящее время в мире существует большое количество средств, форм и способов общения, и немалая часть из них так или иначе связана с современными техническими возможностями, которые, в частности, представлены использованием глобальной компьютерной сети. Интернет кроме источника разнообразной и полезной для пользователей информации также является основной формой виртуального общения. Связь с друзьями и родственниками, контакты с рабочими партнерами, новые знакомства - все это является важным компонентом повседневной жизни современного человека, причем выбор наиболее удобных способов онлайн- общения у пользователя достаточно большой.
Актуальность выпускной квалификационной работы обусловлена высокой популярностью мессенджеров и таких средств автоматизации как чат- боты среди пользователей сети Интернет. Чат-боты позволяют упростить ежедневные рутинные задачи, такие как получение информации о погоде, пробках, последних новостях и другие. Главным достоинством относительно классических приложений является возможность совмещения всех возможностей на платформе одного мессенджера. Кроме этого в 2019 году в городе Красноярске будет проводиться Зимняя Универсиада, что послужило основанием для разработки авторского чат-бота, посвященного этой тематике.
Целью выпускной квалификационной работы является разработка бота- помощника для мессенджера Telegram.
Исходя из поставленной цели, были поставлены следующие задачи:
- анализ выбранной предметной области;
- сравнение имеющихся аналогов чат-ботов;
- выбор технологий и среды разработки;
Круглосуточная служба поддержки пользователей, конвертирование документов и медиафайлов, заказ такси, поиск необходимых данных и многое другое в настоящее время может быть реализовано в рамках лишь одного мессенджера. Пользователям не придется скачивать множество приложений для решения узконаправленных задач, потому что достаточно иметь лишь мессенджер и необходимый набор чат-ботов, которые не занимают место в памяти смартфона.
В рамках выпускной квалификационной работы были выполнены поставленные задачи. Во-первых, были изучены мессенджеры. Было проведено сравнение и анализ достоинств и недостатков, вследствие чего был выбран мессенджер Telegram как самый удобный и доступный в плане документации Telegram Bot API.
Во-вторых, были изучены имеющиеся аналоги чат-бота на платформе Telegram, а также выявлены их достоинства, недостатки и интересные решения. На основе этого были выявлены требования для разработки авторского чат-бота посвященного Зимней Универсиаде 2019 в городе Красноярске.
1) Messina, C. 2016 will be the year of conversational commerce [Электронный ресурс] / C. Messina // Medium. - 2016. - Режим доступа: https://medium.com/chris-messina/2016-will-be-the-year-of-conversational- commerce-1586e85e3991
2) Telegram Bot API [Электронный ресурс] : Telegram Documents. - Режим доступа: https://core.telegram.org/bots/api
3) Аванесян Н. Л., Telegram, как пример мессенджера: возможности и
перспективы развития. [Электронный ресурс] / Н. Л. Аванесян // Научный потенциал XXI века. - 2017. - Режим доступа:
https://elibrary.ru/download/elibrary_29653726_34734017.pdf
4) Агальцов, В. Базы данных: В 2-х книгах. Книга 2: Распределенные и удаленные базы данных : Учебник / В. Агальцов - Москва : Форум, 2018. - 271 с.
5) Архаков, Д. NodeJS: Делаем кнопки в Telegram API (inline-keyboards) [Электронный ресурс] / Д. Архаков // Блог о программировании. -
2016. - Режим доступа: https://archakov.im/post/nodejs-make-buttons-on-telegram- api.html
6) Иванов А. Д., Чат-бот в Telegram и ВКонтакте, как новый канал распространения новостей. [Электронный ресурс] / А. Д. Иванов // Волжский университет имени В.Н. Татищева. - 2016. - №3 - с. 126-132. - Режим доступа: https://elibrary.ru/download/elibrary_26673675_34058358.pdf
7) Козлов А. А., Телеграм-бот как простой и удобный способ получения информации [Электронный ресурс] / А. А. Козлов, А. В. Батищев // Территория науки. - 2017. - №5. - с. 55-64. - Режим доступа: https://cyberleninka.ru/article/v/telegram-bot-kak-prostoy-i-udobnyy-sposob- polucheniya-informatsii
8) Матвеева Н. Ю., Технологии создания и применения чат-ботов [Электронный ресурс] / Н. Ю. Матвеева, А. В Золотарюк. // Научные записки
9) Официальный сайт Node.JS [Электронный ресурс]: About - Режим доступа: https://www.nodejs.org/.
10) Официальный сайт Telegtam [Электронный ресурс]: API - Режим доступа: https://core.telegram.org/api.
11) Рейтинг месседжеров 2018 [Электронный ресурс] : Сервис сравнения и выбора приложений и сервисов в сфере IT. - 2018. - Режим доступа: https://coba.tools/compilation/reiting-messendzherov-2018
12) Холмс, С. Стек MEAN. Mongo, Express, Angular, Node. : Учебное пособие / С. Холмс - Санкт-Петербург : Питер Пресс, 2017. - 496 с.
13) Хэррон, Д. Node.js. Разработка серверных веб-приложений на JavaScript. : Учебное пособие / Д. Хэррон - Москва : ДМК Пресс, 2014. - 144 с.
14) Шмыров, В. Названы любимые мессенджеры россиян
[Электронный ресурс] / В. Шмыров // Издание о высоких технологиях. - 2018 - Режим доступа: http://www.cnews.ru/news/top/2018-02-
28_whatsapp_stal_samym_populyarnym_messendzheram_v
15) Янг, А. Node.js в действии. : Учебное пособие / А Янг., Б Мек., М Кантелон. - Санкт-Петербург : Питер СПб, 2018. - 432 с.
16) СТО 4.2-07-2014 Система менеджмента качества. Общие требования к построению, изложению и оформлению документов учебной деятельности. - Введ. 9.01.2014. - Красноярск: ИПК СФУ, 2014. - 60 с.
17) Прамодкумар, Д. NoSQL: новая методология разработки нереляционных баз данных.: пер с англ. / Д. Прамодкумар, Садаладж, М. Фаулер; под ред. С.Н. Тригуб. - Москва.: Вильямс, 2013 - 192 с.
18) Советов, Б.Я. Информационные технологии.: учебное пособие / Б. Я. Советов, В. В. Цехановский. - Москва.: Высш. шк., 2003. - 263 с.
19) Флэнаган, Д. JavaScrrt: карманный справочник, 3-е изд.: пер с англ. / Д.Флэнаган; под ред. С.Н. Тригуб - Москва.: Вильямс, 2013. - 230 с.
20) Шаши, Ш. Основы построения баз данных.: пер с англ. / Ш. Шаши.
- Москва.: КУДИЦ-ОБРАЗ, 2004. - 336с.
21) Пауэрс, Ш. Изучаем Node.js: пер с англ./ Ш. Пауэрс. - Санкт- Петербург: Питер, 2014. - 400 с.
22) Официальный сайт Heroku [Электронный ресурс]: Облачная PaaS- платформа. - Режим доступа: https://www.heroku.com/.
23) Рейтинг систем управления базами данных 2016 [Электронный ресурс] // Tagline - рейтинги сервисов и технологий - Режим доступа: http://tagline.ru/database-management-systems-rating.
24) Хабрахабр [Электронный ресурс] : Node.js, Express G MongoDB: API за полчаса. - Режим доступа: https://habrahabr.ru/company/ruvds/blog/321104/
25) Бэнкер, К. MongoDB в действии : учебное пособие / К. Бэнкер - Москва : ДМК Пресс, 2012. - 394 с.