Professional Documents
Culture Documents
122-Стецюк Сергій Олегович-2022
122-Стецюк Сергій Олегович-2022
Допускається до захисту:
Завідувач кафедри
інформаційних технологій,
доктор технічних наук, доцент
Т. В. Нєскородєва
« » 20 р.
Керівник:
Бабаков Р.М., доцент кафедри
інформаційних технологій,
д.т.н, доцент
Оцінка: / /
(бали за шкалою СКТС/за національною шкалою)
Голова ЕК:
(підпис)
Вінниця – 2022
АНОТАЦІЯ
ВСТУП…………………………………………………………………....5
Розділ 1. …………………………………………………………………………. 6
АНАЛІЗ ПРЕДМЕТНОЇ ГАЛУЗІ, ПОСТАНОВКА ЗАДАЧІ ТА ОГЛЯД
ІСНУЮЧИХ АНАЛОГІВ7
1.1 Актуальність теми………………………………………………...6
1.2 Розгляд аналогів…………………………………………………..7
1.3 Постановка задачі………………………………………………...11
Розділ 2. ……………………………………………………………….. 12
АНАЛІЗ ТА ВИБІР АКТУАЛЬНИХ ТЕХНОЛОГІЙ ДЛЯ РОЗРОБКИ
ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ………………………………………….12
2.1 Вибір програмних засобів розробки…………………………….12
Розділ 3.................................................................................................... 27
РЕАЛІЗАЦІЯ ТА СТВОРЕННЯ ТЕЛЕГРАМ-БОТА ………………………27
3.1 Створення телеграм-бота………………………………………...27
3.2 Розробка телеграм-бота…………………………………………..33
3.3 Логіка роботи телеграм-боту…………………………………….40
ВИСНОВОК………………………………………………………………45
7
1.2 Розгляд аналогів
1.2.1 Airtrack_bot
8
Серед AirTrack переваг слід виділити:
1. Можливість вибрати мову, валюту;
2. Зручний та зрозумілий функціонал
3. Швидка робота бота
1.2.2 RailwayBot
9
Слід відмітити, що бот також може повернути кошти за квиток та сповістити
вас якщо по вибраному вами маршруту з’явиться квиток на потяг.
Переваги RailwayBot:
1. Зручне меню
2. Можливість повернути квиток
3. Функція моніторингу
4. Безкоштовне користування
Серед недоліків RailwayBot лише те, що обробка інформації
займає близько 1-2 хвилин, через великий діапазон вибору квитків.
1.2.3 Depovnua_bot
11
1.3 Постановка задачі
12
Розділ 2.
АНАЛІЗ ТА ВИБІР АКТУАЛЬНИХ ТЕХНОЛОГІЙ ДЛЯ
2.1.1 JavaScript
13
Однак JavaScript не слід плутати з Java, яка є іншим типом мови
програмування. Спочатку JavaScript називався LiveScript. Але через тодішню
славу Java її перейменували в JavaScript, позиціонуючи її як молодшого брата
Java.
Кожен, хто коли-небудь користувався комп’ютером або смартфоном,
стикався з JavaScript. Це те, що робить веб-сторінки більш інтерактивними та
сприяє більш плавному взаємодії з користувачем, що може принести користь
бренду компанії. Крім того, майже всі смартфони використовують програми,
створені за допомогою цієї мови програмування.
JavaScript підтримується всіма основними браузерами і має повну
інтеграцію з HTML і CSS. Без цього веб-сайти були б просто текстом і
зображеннями, Google Maps — просто базовою картою, а Facebook виглядав
би як газета. JavaScript оживає сторінки, і це те, що робить Інтернет таким,
яким він є сьогодні.
Спочатку створений для використання у браузерах, зараз JavaScript
використовується в програмах на різних пристроях. Це також найуживаніша
мова програмування у світі.
Як працює Javascript
15
2.1.2 Node.js
16
Поточність
Домен
Модуль домену перехоплює помилки, які залишаються необробленими.
Для перехоплення цих помилок використовуються два методи:
1) Внутрішня прив’язка: випромінювач помилок виконує свій код
всередині методу run
2) Зовнішнє прив’язування: випромінювач помилок явно додається до
домену за допомогою його методу add
Тенденції галузі
2.1.3 SQLite
Обмеження SQLite
Підсумки
2.1.4 Heroku
Чому Heroku?
24
Heroku надає всю підтримку розробникам, командам і підприємствам
будь-якого розміру, щоб розгортати керування та легко масштабувати свої
програми.
Heroku надає чудові плагіни та підтримку сторонніх розробників. Крім
офіційно підтримуваних мов, Heroku пропонує підтримку будь-якої мови, яка
працює в Linux, за допомогою стороннього пакета збірки. Вони також надають
понад 200 додаткових послуг, які можна легко інтегрувати за кілька кліків.
Крім цього, Heroku володіє всіма загальними та очікуваними перевагами
хмарних обчислень. Коли програми масштабуються, як розробники, ми не
хочемо керувати серверами. Heroku орієнтована на розробників і пропонує
нам зосередитися на кодуванні та дозволяє Heroku керувати серверами для
використання в хмарі.
Якщо говорити про те, що він орієнтований на розробників, у Heroku
також є потужний CLI. Ви можете просто завантажити та встановити його на
будь-яку платформу ОС. За допомогою Heroku CLI ви можете легко
створювати програми та керувати ними безпосередньо через термінал. Це
важлива частина використання Heroku.
25
РОЗДІЛ 3. РЕАЛІЗАЦІЯ ТА СТВОРЕННЯ ТЕЛЕГРАМ БОТА
26
Рисунок. 3.2 – процес створення телеграм-боту
27
Рисунок. 3.4 – зміна фото бота
Після виконаних операцій, наш бот тепер має підходящий зовнішній вигляд:
28
Документація Telegram Bot API передбачає, що кожна
клавіатура повинна мати один обов’язковий параметр – назва
кнопки, та шість необов’язкових – посилання, зворотній зв’язок,
можливість вбудованого запиту, можливість виведення
клавіатури з інших чатів, виклик опису запущеної гри та кнопка
зможливістю покупки.
30
3.2 Розробка телеграм бота
к
о
м
а
Рисунок. 3.7 – створення папки з проектом
н
д
Після чого встановлюються залежності за допомогою команди npm
у
розпочати розробку коду.
n
p
Спочатку потрібно розробити структуру бази даних: звя’зки, назви
m
колонок, назви таблиць. Після того як було продумано вигляд бази даних,
потрібно описати структуру бази в коді.
i
n
i
31
t
-
-
Рисунок. 3.8 – структура бази даних
32
Ось так виглядає описана модель:
33
Рисунок. 3.11 – підключення до бази даних
35
Рисунок. 3.13 – перевірка логіки часу
Далі розглянемо функцію форматування результатів пошуку вказаних
користувачем маршрутів.
Як можна побачити на рисунку нижче форматується зручне для перегляду
повідомлення:
назва маршрутів
час відправлення
час прибуття
тип транспорту
назва транспорту
виділення синім кольором точку відправлення та відповідно точку
прибуття, для того, щоб користувачу було зручніше переглядати
інформацію
36
Рисунок. 3.14 – реалізація пошуку маршрутів
37
Рисунок. 3.15 – дані для роботи системи
38
3.3 Логіка роботи телеграм-боту
40
Ось так виглядає початок взаємодії телеграм-бота з користувачем:
41
У випадку якщо прямого рейсу не знайдено телеграм-бот покаже
користувачу маршрут з пересадкою. Наприклад:
42
ВИСНОВОК
ресурсу: https://blog.hubspot.com/website/what-is-javascript
https://docs.npmjs.com/cli/v8/commands/npm-initJavaScript
ресурсу:https://telegraf.js.org/#:~:text=Telegraf%20is%20a%20librar
y%20that,bots%20using%20JavaScript%20or%20TypeScript.
https://ua.wikipedia.org/wiki/Node.js
https://www.sqlitetutorial.net
https://github.com/telegraf/telegraf
https://www.jetbrains.com/ru-ru/webstorm/
https://www.digitalocean.com/community/tutorials/workflow-
nodemon-ru
https://habr.com/ru/post/565062/
доступу: https://tproger.ru/translations/telegram-bot-create-and-
deploy/
https://habr.com/ru/post/442800/
доступу: https://coba.tools/compilation/reiting-messendzherov-2018
45
ресурсу: https://tlgrm.ru/docs/bots/api#authorizing-your-bot
ресурсу: https://ain.ua/ru/2017/08/14/30-telegram-botov/
С. 140-144
https://tlgrm.ru/docs/bots/2-0-intro
https://kyiv.dityvmisti.ua/pages/telegram-bot-shcho-tse-take-i-iak-
nymkorystuvatysia.
5000-15716/
telegram-proyaki-vi-mozhlivo-ne-znali/
https://studway.com.ua/pro-telegram/
46
26. Бот в Телеграм. Режим доступу: https://lemarbet.com/ua/razvitie-
internetmagazina/boty-v-telegram/
https://tlgrm.ru/docs/bots
47