Научная статья на тему 'ЧАТ-БОТ ДЛЯ ТЕСТИРОВАНИЯ ЗНАНИЙ НА ПЛАТФОРМЕ МЕССЕНДЖЕРА TELEGRAM'

ЧАТ-БОТ ДЛЯ ТЕСТИРОВАНИЯ ЗНАНИЙ НА ПЛАТФОРМЕ МЕССЕНДЖЕРА TELEGRAM Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1231
83
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЧАТ-БОТ / TELEGRAM / JAVASCRIPT / ОБУЧЕНИЕ / ТЕСТ / ИЗОБРАЖЕНИЕ / МЕССЕНДЖЕР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Могилевская Н. С., Самойленко Г. П.

В рамках работы создан чат-бот на платформе мессенджера Telegram для тестирования знаний обучающихся. Тестируемый получает изображение (или его часть) и должен выбрать верный ответ из списка предложенных. В статье описывается способ организации тестирования и рассматриваются некоторые подробности программной реализации чат-бота. Программный код бота написан на языке программирования JavaScript с применением библиотеки telegraf, облегчающей работу с API Telegram. В качестве хранилища к проекту подключена реляционная база данных MySQL. Рассмотрен вопрос создания сайта для наполнения базы данных контентом. Серверная часть сайта написана с помощью языка программирования PHP с использованием фреймворка Laravel. Клиентская часть реализована с помощью языка разметки HTML.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

KNOWLEDGE TESTING CHAT-BOT ON THE TELEGRAM MESSENGER PLATFORM

In this work, a chat-bot was created on the Telegram messenger platform to test students' knowledge. The test taker receives an image (or part of it) and must choose the correct answer from the list. The article describes a way to organize testing and discusses some details of the software implementation of the chat-bot. The program code of the bot is written in the JavaScript programming language using the telegraf library, which facilitates work with the API Telegram. A MySQL relational database is connected to the project as storage. The issue of creating a website for filling the database with content is considered. The server part of the site is written using the PHP programming language using the Laravel framework. The client part is implemented using the HTML markup language.

Текст научной работы на тему «ЧАТ-БОТ ДЛЯ ТЕСТИРОВАНИЯ ЗНАНИЙ НА ПЛАТФОРМЕ МЕССЕНДЖЕРА TELEGRAM»

УДК 004

ЧАТ-БОТ ДЛЯ ТЕСТИРОВАНИЯ ЗНАНИИ НА ПЛАТФОРМЕ МЕССЕНДЖЕРА

TELEGRAM

Н. С. Могилевская, Г. П. Самойленко

Южный федеральный университет (г. Ростов-на-Дону, Российская Федерация)

В рамках работы создан чат-бот на платформе мессенджера Telegram для тестирования знаний обучающихся. Тестируемый получает изображение (или его часть) и должен выбрать верный ответ из списка предложенных. В статье описывается способ организации тестирования и рассматриваются некоторые подробности программной реализации чат-бота. Программный код бота написан на языке программирования JavaScript с применением библиотеки telegraf, облегчающей работу с API Telegram. В качестве хранилища к проекту подключена реляционная база данных MySQL. Рассмотрен вопрос создания сайта для наполнения базы данных контентом. Серверная часть сайта написана с помощью языка программирования PHP с использованием фреймворка Laravel. Клиентская часть реализована с помощью языка разметки HTML.

Ключевые слова: чат-бот, Telegram, JavaScript, обучение, тест, изображение, мессенджер.

KNOWLEDGE TESTING CHAT-BOT ON THE TELEGRAM MESSENGER PLATFORM

N. S. Mogilevskaya, G. P. Samoylenko

Southern Federal University (Rostov-on-Don, Russian Federation)

In this work, a chat-bot was created on the Telegram messenger platform to test students' knowledge. The test taker receives an image (or part of it) and must choose the correct answer from the list. The article describes a way to organize testing and discusses some details of the software implementation of the chatbot. The program code of the bot is written in the JavaScript programming language using the telegraf library, which facilitates work with the API Telegram. A MySQL relational database is connected to the project as storage. The issue of creating a website for filling the database with content is considered. The server part of the site is written using the PHP programming language using the Laravel framework. The client part is implemented using the HTML markup language.

Keywords: chat-bot, Telegram, Java script, education, testing, image, messenger

Введение. Инновационные технологии широко внедряются в сфере образования. Многие аудитории в школах и вузах оборудованы электронными досками, бумажные студенческие зачетные книжки заменили электронными. Очевидно, что технологическая поддержка обучающих процессов будет развиваться.

Цель данного исследования — создание в мессенджере Telegram чат-бота, который будет проводить тестирование в обучаемой группе. В качестве основы для разработки рассмотрели несколько социальных сетей и мессенджеров. Самая крупная в России социальная сеть — «ВКонтакте» [1], а самый быстрорастущий мессенджер — Telegram [2]. С 2018 года он превосходит указанную соцсеть по числу пользователей [3]. Отметим также, что подробно задокументированное API Telegram [4] позволяет разработчикам создавать боты для пользователей мессенджера. Совокупность этих факторов определила выбор платформы для реализации чат-бота.

Форма тестирования. Итак, чат-бот отправляет пользователю картинку и несколько вариантов ответов, один из которых верный. Различная тематика изображений позволит

использовать бот в разных сферах обучения. Например, преподаватели искусствоведения могут загружать картины известных художников, предлагая студентам выбрать их верное название или автора. Преподаватели иностранного языка могут демонстрировать предметы, чтобы студенты выбрали соответствующее им слово и т. д.

За правильный ответ бот начисляет определенное количество очков пользователю и отправляет ему следующее изображение с вариантами ответа. Так продолжается до первой ошибки или до завершения тестирования. На рис. 1 показан интерфейс чат-бота с изображением и вариантами ответов.

Рис. 1. Интерфейс чат-бота (изображение и варианты ответа)

В боте реализована и альтернативная, более сложная версия теста. Пользователь видит лишь 1/16 часть изображения. Если он не справится, то воспользуется кнопкой, открывающей половину изображения (рис. 2).

Write a message...

0 Q

Неизвестная

Демон сидящий

Рис. 2. Кнопка, позволяющая увидеть большую часть изображения

Какая половина будет открыта, определяется случайно. Если и этого мало для идентификации, кнопка откроет всю картину (рис. 3). Чтобы у тестируемого была мотивация как можно реже жать на кнопку, ввели систему баллов: чем больше кликов, тем меньше баллов.

Рис. 3. Кнопка, открывающая все изображение

Управление содержимым. Чат-бот наполняют изображениями и вариантами ответов на специально созданном сайте с интуитивно понятным интерфейсом (рис. 4).

Выбрать категорию

Картины

# Файл

Название

Автор

Прогресс

& ч

Девятый вал Айвазовский

Апофеоз войны Верещагин

Сеятель и закат ^ Ван Гог

+ Выбрать файл

Начать загрузку

Рис. 4. Интерфейс загрузки файлов

Пользователю необходимо определить категорию (список доступных категорий будет постоянно расширяться), затем выбрать подготовленные изображения, подписать правильные ответы (необходимые поля будут автоматически подставлены для категории) и загрузить файлы.

Программная реализация. Чат-бот написан на языке JavaScript [5-6]. Для упрощения взаимодействия с API Telegram используется библиотека telegraf [7], которая поддерживает современную спецификацию ECMAScript 6 [8]. Такой подход позволяет легче работать с асинхронными запросами к базе данных (БД). В качестве БД используется MySQL [9, 10], которая обеспечивает разработчиков всеми необходимыми возможностями и не перегружена избыточными функциями. Для облегчения написания запросов к БД в боте используется ORM (object-relational mapping — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования). Одна из самых популярных ORM с необходимым функционалом — Sequelize [11], поэтому для работы выбрали ее.

Веб-страница для загрузки файлов написана на языке PHP [10, 12] с использованием фреймворка Laravel [13], который, в свою очередь, задействует такие технологии, как шаблонизатор Blade и продвинутый JS-фреймворк VueJS [14]. С их помощью удалось уменьшить нагрузку на сервер, так как VueJS хорошо работает с динамичным перерисовыванием страниц без отправки запросов к серверу.

Заключение. В работе на платформе Telegram создан чат-бот для тестирования обучающихся. Интерфейс управления содержимым бота дает возможность создавать задания по разным темам и проводить тестирование. Испытание созданного чат-бота показало, что он работает корректно и устойчиво.

Библиографический список

1. Digital 2021: The Russian Federation / Kepios // Datareportal : [сайт]. — URL: https://datareportaLcom/reports/digital-2021-russian-federation?rq=russia/ (дата обращения: 25.02.2022).

2. Назван самый быстрорастущий мессенджер в России / ООО «А.А.И.» // Adindex : [сайт]. — URL: https://adindex.ru/news/digital/2021/12/22/301030.phtml/ (дата обращения: 25.02.2022).

3. Мессенджер Telegram обогнал ВК по числу активных пользователей / ООО

обращения 25.02.2022).

4. Telegram Bot API // core.telegram.org : [сайт]. — URL: https://core.telegram.org/bots/api/ (дата обращения 25.02.2022).

5. Чиннатхамби, К. JavaScript с нуля / К. Чиннатхамби. — Санкт-Петербург : Питер, 2021.

6. Симпсон, К. Познакомьтесь, JavaScript / К. Симпсон. — 2-е изд. — Санкт-Петербург : Питер, 2022. — 192 с.

7. telegraf.js v4.7.0 / telegraf.js.org : [сайт]. — URL: https://telegraf.js.org / (дата обращения 25.02.2022).

8. Engelschall, R. S. ECMAScript 6 — New Features: Overview & Comparison / R. S. Engelschall // es6-features.org : [сайт]. — URL: http://es6-features.org/ (дата обращения 25.02.2022).

9. Документация по MySQL // MySQL : [сайт]. — URL: http://www.mysql.ru/docs / (дата обращения 25.02.2022).

10. Nixon, R. Learning PHP, MySQL & JavaScript / R. Nixon. — Sebastopol : O'Reilly Media, 2021. — 795 p.

11. sequelize v6 / Sequelize Contributors // sequelize.org : [сайт]. — URL: https://sequelize.org/v6/ (дата обращения 25.02.2021).

12. Татро, К. Создаем динамические веб-сайты на PHP / К. Татро, П. Макинтайр. — 4-е изд. — Санкт-Петербург : Питер, 2021. — 544 с.

13. The PHP Framework for Web Artisans / Laravel LLC // laravel.com : [сайт]. — URL: https://laravel.com/docs/9.x/ (дата обращения 25.02.2022).

14. You, E. The Progressive JavaScript Framework / E. You // vuejs.org : [сайт]. — URL: https://vuejs.org / (дата обращения 25.02.2022).

Об авторах:

Могилевская Надежда Сергеевна, доцент кафедры «Алгебра и дискретная математика» Института механики, математики и компьютерных наук Южного федерального университета (344090, РФ, г. Ростов-на-Дону, ул. Мильчакова, 8а), кандидат технических наук, доцент, [email protected].

Самойленко Григорий Павлович, студент Института механики, математики и компьютерных наук Южного федерального университета (344090, РФ, г. Ростов-на-Дону, ул. Мильчакова, 8а), [email protected].

About the Authors:

Mogilevskaya, Nadezhda S., Associate professor, Department of Algebra and Discrete Mathematics, Institute of Mechanics, Mathematics and Computer Science, Southern Federal University (8a, Milchakova Str., Rostov-on-Don, 344090, RF), Cand.Sci., Associate professor, [email protected]

Samoylenko, Grigoriy P., Student, Institute of Mechanics, Mathematics and Computer Science, Southern Federal University (8a, Milchakova Str., Rostov-on-Don, 344090, RF), [email protected]

«Современные Интернет Технологии» // tatocenter : [сайт]. — https://tatcenter.ru/news/messendzher-telegram-obognal-vk-po-chislu-aktivnyh-polzovatelej/

URL:

(дата

400 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.