Проекты

Онлайн чат-бот

Работа призёра открытой городской научно-практической конференции «Инженеры будущего» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10−11 классов

Направление работы: Программирование
Авторы работы: ГБОУ Школа № 1517
Предметы: Информатика
Классы: 11 класс
Мероприятия: Открытая городская научно-практическая конференция «Инженеры будущего» 18−20 апреля 2019 года

Цель

Создание чат-бота с последующим исследованием его функционирования в ВКонтакте и Discord.

Задачи

  1. Анализ работы с API Discord и ВКонтакте.
  2. Сравнение API Discord и ВКонтакте.
  3. Исследование существующих систем разработки чат-ботов.
  4. Изучение технологии функционирования чат-ботов.
  5. Изучение работы хостингов и серверов.
  6. Создание чат-ботов для ВКонтакте и Discord.

Описание

Методикой выполнения работы являлись анализ информации и написание кода. Работа выполнялась в течение академического года.

Чат-бот для ВКонтакте.

На странице сообщества ВКонтакте можно подробно ознакомиться с чат-ботом. В ленте новостей находятся все обновления чат-бота. Перейдя в диалог с ботом и написав ему «Привет», вы откроете меню, состоящее из кнопок:

!commands, открывается следующее меню, состоящее из команд, которые может выполнить бот.

!games − игры, развлечения пользователей. На данный момент имеется одна интересная игра − !animals. Чат-бот отправляет аудиозапись звука какого-либо животного, а игроку необходимо понять, какое это животное. Если ответ будет верным, чат-бот оповестит об этом.

!weather − команда, позволяющая узнать погоду в любом городе мира, в команду интегрировано стороннее API OpenWeather.

Чат-бот для Discord.

На платформе Discord бот представляет собой обычный аккаунт, но с дополнительным идентификационным тэгом Bot. Функционал бота и реализация его возможностей заключаются в командах бота и анализе информации с последующей соответствующей реакцией. Каждая команда полностью изменяемая. Некоторые команды поддерживают пользовательские атрибуты (например, поиск изображений по запросу). Также в чат-бот интегрированы сторонние сервисы для увеличения потенциала и возможностей бота. Чат-бот выполняет функции автоматического модерирования, технического агрегатора, а также используется как способ развлечения для пользователей. Большинство команд нацелены именно на развлекательный характер, т. к. именно в данной функции аудитория наиболее заинтересована.

В функции модерирования входят:

удаление сообщений по ключевым словам;

управление разрешениями пользователей (возможность писать);

автовыдача роли и др.

В функции технического агрегатора входят:

интеграция платёжной системы для системы донат-услуг;

интеграция таблиц для ведения активности отдельных пользователей.

В функции развлекательного характера входят:

мини-игры;

работа с изображениями;

поиск изображений по запросам.

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

В ВКонтакте чат-бот не может модерировать чужие сообщения, поскольку приложение не позволяет удалять или редактировать их.

В Discord чат-бот может удалять чужие сообщения, что позволяет создать систему цензурирования и фильтрации всех сообщений пользователей. В остальных сферах применения возможности чат-ботов разных платформ почти идентичны.

Результат

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

Были разработаны два функционирующих онлайн чат-бота в Discord и во ВКонтакте.

Оснащение и оборудование

MacBook, персональные ПК в роли серверов

Программное обеспечение:

язык программирования Python,

среда разработки PyCharm,

программа для управления проектами и совместной работы над ними Trello,

веб-сервис для хостинга и разработки IT-проектов GitHub,

программа для разработки API-Postman,

OpenWeatherMap API – получение информации о погоде,

Google API – работа с Google.Документами,

Imgur API – поиск изображений,

Qiwi API – интеграция платёжной системы.

Перспективы использования результатов работы

Основным курсом дальнейшего развития проекта является создание системы обмена информацией между ВКонтакте и Discord. Также постоянно добавляются новые или улучшаются уже существующие команды благодаря отзывам и обратной связи целевой аудитории чат-бота. В будущем с развитием бота планируется добавление бóльшего количества интеграций сторонних сервисов.

Особое мнение

«Работа осуществлялась в паре, каждый участник занимался разработкой для «своей» платформы. Разработка планировалась на весь учебный год, что дало больше шансов в изучении возможностей чат-ботов в разных социальных сетях, более углубленном изучении языка программирования Python и способов проектирования и разработки сложного программного продукта. Будучи учащимися инженерного класса, мы могли чаще обсуждать стратегию развития проекта, получать консультации курирующего учителя и демонстрировать продукт одноклассникам для формирования общественного мнения о проекте. Конференция «Инженеры будущего» дала возможность реализовать проект на высоком уровне. Компетентное жюри и регламент выступления позволили грамотно рассказать о проекте и раскрыть все его аспекты»