Проекты

Создание бота в Discord для онлайн-мониторинга игрового профиля

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

Направление работы: Информационные технологии
Авторы работы: ГБОУ Школа «Свиблово»
Предметы: Информатика
Классы: 10 класс
Мероприятия: Конкурс проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» 2021 года

Актуальность

Сегодня невозможно представить жизнь любого простого онлайн-пользователя без существования какого-либо бота. Если мы возьмем, например, разные поисковые системы, то у Яндекса мы можем наблюдать присутствие «Алисы» – искусственного интеллекта, способного развлечь пользователя или помочь ему найти нужную информацию. Что касается любителей игр, у них тоже есть свои боты, которые существуют в рамках сообществ игроков этих игр, призваны помочь игрокам как можно быстрее и эффективнее обозревать свой игровой профиль и свои внутриигровые достижения.

Цель

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

Задачи

  1. Выбор языка, на котором будет написан код для бота.
  2. Изучение метода разработки бота в Discord.
  3. Выбор игры, с которой будут считываться данные профиля.
  4. Написание кода бота.
  5. Тестирование, отладка.

Оснащение и оборудование, использованное при создании работы

  • Компьютер с установленным программным обеспечением PyCharm с выходом в Интернет

Описание

Перед тем как начать писать код для бота, нужно было решить, с какой игры будет браться игровой профиль, чтобы понять, как это будет работать. Была выбрана игра League of Legends. В сообщении, которое присылает бот, было прописано следующее:

1.      Игровой никнейм (с прикреплённой к нему ссылкой на сайт)

2.      Уровень, игровой ранг

3.      Очки мастерства на тех или иных игровых персонажах

4.      Наиболее частые позиции игрока

5.      Последние персонажи, на которых играл игрок

6.      Игровые достижения игрока

7.      Общий счёт мастерства на всех персонажах игрока

8.      Общее количество достижений игрока

Основного функционала в виде простого поиска профиля недостаточно, поэтому было принято решение, что бот будет нести в себе ещё и развлекательную функцию. Таким образом у бота появились дополнительные команды, благодаря чему ответ бота стал разнообразным. Чтобы проще было обращаться к боту, решено было взять в качестве его «лица» персонажа из League of Legends – грозного мстителя всем живым капитана Пайка. Чтобы соответствовать характеру персонажа, в сообщения бота были добавлены характерные персонажу фразы.

Бот реагирует на команду «!profile», подробно рассказывая об игроке всю доступную информацию, отвечает на команду «!he», выдавая полный список команд, рассказывает немного о себе с помощью команд «!snake» и «!pyke».

В коде несколько десятков строк, связанных между собой. Для упрощения работы была выбрана программа PyCharm версии 2020.3.3, в которую сразу можно загрузить нужную версию Python и библиотеки. Версия Python – 3.5.3. Данная версия является неподдерживаемой, поскольку на неё обновления больше не выходят. Однако на других версиях (Python 3.9) библиотека discord.py отказывалась работать, постоянно выдавая ошибку. Первые пробы запуска бота служили для проверки, как реагирует бот, как ответит код в строках.

 

 

 

 

 

 

 

 

По данной ссылке можно ознакомиться с проделанной работой и увидеть код бота: https://github.com/deadendronin/school-project-bot

Результаты работы/выводы

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

Для более простого использования бота, чтобы он был узнаваем многими пользователями, знакомыми с игрой, решено было взять одного из персонажей в качестве его внешнего вида. Таким образом, бот может имитировать его поведение и характер, не теряя своего прямого назначения и только лишь прибавляя интерес для потенциальных пользователей.

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

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