Как играть в игры в дискорде в браузере

Обновлено: 01.07.2024

На каждом шаге будем постепенно наращивать функционал.

Создадим новый web api проект с одним контроллером /check. При обращении к этому адресу будем отправлять строку “Hello!” в Discord чат.

Научимся получать данные о составе гильдии с помощью готовой библиотеки или заглушки.

Научимся сохранять в кэш полученный список игроков чтобы при следующих проверках находить различия с предыдущей версией списка. Обо всех изменениях будем писать в Discord.

Напишем Dockerfile для нашего проекта и разместим проект на хостинге Heroku.

Посмотрим на несколько способов сделать периодическое выполнение кода.

Реализуем автоматическую сборку, запуск тестов и публикацию проекта после каждого коммита в master

Создание нового проекта - это одна из фундаментальных вещей которые я не буду подробно расписывать. При работе над проектом используйте сервис Github для хранения кода. В дальнейшем мы воспользуемся несколькими возможностями Github.

Добавим к проекту новый контроллер

Получить его можно в пункте integrations в настройках любого текстового канала вашего Discord сервера.

Создание webhook

Создание webhook

Добавим webhook в appsettings.json нашего проекта. Позже мы унесем его в переменные окружения Heroku. Если вы не знакомы с тем как работать с конфигурацией в ASP Core проектах предварительно изучите эту тему.

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

Не забудьте что новый класс нужно будет зарегистрировать в Startup.

Теперь можно воспользоваться новым классом в контроллере.

Получаем реальные данные

Подключим к проекту библиотеку ArgentPonyWarcraftClient.

Создадим новый класс BattleNetApiClient в папке Services.

В конструкторе мы создаем новый экземпляр класса WarcraftClient.
Этот класс относится к библиотеке, которую мы установили ранее. С его помощью можно получать данные об игроках.

Кроме этого, нужно создать в appsettings проекта две новых записи RealmName и GuildName. RealmName это название игрового мира, а GuildName это название гильдии. Их будем использовать как параметры при запросе.

Сделаем метод GetGuildMembers чтобы получать состав гильдии и создадим модель WowCharacterToken которая будет представлять собой информацию об игроке.

Класс WowCharacterToken следует поместить в папку Models.

Не забудьте подключить BattleNetApiClient в Startup.

Берем данные из заглушки

Для начала создадим модель WowCharacterToken и поместим ее в папку Models. Она представляет собой информацию об игроке.

Дальше сделаем вот такой класс

Он возвращает зашитый в него список игроков. При первом вызове метода мы вернем один список, при последующих другой. Это нужно нам что смоделировать изменчивое поведение api. Этой заглушки хватит чтобы продолжить делать проект.

Сделайте интерфейс и подключите все что мы создали в Startup.

Выведем результаты в Discord

После того как мы сделали BattleNetApiClient, им можно воспользоваться в контроллере чтобы вывести кол-во игроков в Discord.

Шаг 3. Находим новых и ушедших игроков

Нужно научиться определять какие игроки появились или пропали из списка при последующих запросах к api. Для этого мы можем закэшировать список в InMemory кэше (в оперативной памяти) или во внешнем хранилище.

Если закэшировать список в InMemory кэше, то мы потеряем его при перезапуске приложения. Поэтому позже мы подключим базу данных Redis как аддон в Heroku и будем кешировать туда.

А пока что подключим InMemory кэш в Startup.

Теперь в нашем распоряжении есть IDistributedCache, который можно подключить через конструктор. Я предпочел не использовать его напрямую , а написать для него обертку. Создайте класс GuildRepository и поместите его в новую папку Repositories.

GuildRepository нужно зарегистрировать как Singletone зависимость, чтобы кэш не пересоздавался на каждый запрос.

Теперь можно написать сервис который будет сравнивать новый список игроков с сохраненным.

В качестве возвращаемого результата используется модель Report. Ее нужно создать и поместить в папку Models.

Применим GuildService в контроллере.

Теперь отправим в Discord какие игроки присоединились или покинули гильдию.

Можно вывести больше информации об игроке. Ее можно получить если воспользоваться библиотекой ArgentPonyWarcraftClient

Я решил не добавлять в статью больше кода в BattleNetApiClient, чтобы статья не разрослась до безумных размеров.

Unit тесты

У нас появился класс GuildService с нетривиальной логикой, который будет изменяться и расширяться в будущем. Стоит написать на него тесты. Для этого нужно будет сделать заглушки для BattleNetApiClient, GuildRepository и DiscordBroker. Я специально просил создавать интерфейсы для этих классов чтобы можно было сделать их фейки.

Создайте новый проект для Unit тестов. Заведите в нем папку Fakes и сделайте три фейка.

Эти фейки позволяют заранее задать возвращаемое значение для методов. Для этих же целей можно использовать популярную библиотеку Moq. Но для нашего простого примера достаточно самодельных фейков.

Первый тест на GuildService будет выглядеть так:

Как видно из названия, тест позволяет проверить что мы сохраним список игроков, если кэш пуст. Заметьте, в конце теста используется специальный набор методов Should, Be. Это методы из библиотеки FluentAssertions, которые помогают нам сделать Assertion более читабельным.

Теперь у нас есть база для написания тестов. Я показал вам основную идею, дальнейшее написание тестов оставляю вам.

Главный функционал проекта готов. Теперь можно подумать о его публикации.

Шаг 4. Привет Docker и Heroku!

Чтобы упаковать проект в Docker нам понадобится создать в корне репозитория Dockerfile со следующим содержимым

peon.dll это название моего Solution. Peon переводится как батрак.

О том как работать с Docker и Heroku можно прочитать здесь. Но я все же опишу последовательность действий.

Вам понадобится создать аккаунт в Heroku, установить Heroku CLI.

Создайте новый проект в heroku и свяжите его с вашим репозиторием.

Теперь нам необходимо создать файл heroku.yml в папке с проектом. У него будет такое содержимое:

Дальше выполним небольшую череду команд:

Можете открыть приложение в браузере с помощью команды:

После того как мы разместили приложение в Heroku, нужно подключить базу данных Redis для кэша. Как вы помните InMemory кэш будет исчезать после перезапуска приложения.

Установите для нашего Heroku приложения бесплатный аддон RedisCloud.

Строку подключения для Redis можно будет получить через переменную окружения REDISCLOUD_URL. Она будет доступна, когда приложение будет запущено в экосистеме Heroku.

Нам нужно получить эту переменную в коде приложения.

С помощью нее можно зарегистрировать Redis реализацию для IDistributedCache в Startup.

В этом коде мы получили переменную REDISCLOUD_URL из переменных окружения системы. После этого мы извлекли адрес и пароль базы данных с помощью класса RedisUtils. Его написал я сам:

На этот класс можно сделать простой Unit тест.

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

Опубликуйте новую версию приложения.

Шаг 5. Реализуем циклическое выполнение

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

Есть несколько способов это реализовать:

Третий способ - это подключить к проекту специальные Cron аддоны. Например Heroku Scheduler. Можете пойти этим путем и разобраться как создать cron job в Heroku.

Шаг 6. Автоматическая сборка, прогон тестов и публикация

Во-первых, зайдите в настройки приложения в Heroku.

Там есть пункт Deploy. Подключите там свой Github аккаунт и включите Automatic deploys после каждого коммита в master.


Поставьте галочку у пункта Wait for CI to pass before deploy. Нам нужно чтобы Heroku дожидался сборки и прогонки тестов. Если тесты покраснеют, то публикация не случится.

Сделаем сборку и прогонку тестов в Github Actions.


В репозитории появится новый файл dotnet.yml. Он описывает процесс сборки.

Как видите по его содержимому, задание build будет запускаться после пуша в ветку master.

Содержимое самого задания нас полностью устраивает. Если вы вчитаетесь в то что там происходит, то увидите что там происходит запуск команд dotnet build и dotnet test.

Менять в этом файле ничего не нужно, все уже будет работать из коробки.

Запушьте что-нибудь в master и посмотрите что задание запускается. Кстати, оно уже должно было запуститься после создания нового workflow.


Надеюсь данная статья подкинула вам пару новых идей и тем для изучения. Спасибо за внимание. Удачи вам в ваших проектах!

Сегодня Discord стала одной из самых мощных веб-платформ для чата и видео. Изначально разработанная для геймеров, она сместила свои акценты, и заявила о себе, как чате для сообществ и друзей. Безусловно, приложение имеет все функции, чтобы получить массовое использование. В этой статье расскажем о том, как сделать в Дискорде статус «Играет в игру», какие базовые метки можно выставить на профиле, и как менять свое присутствие в системе.

как сделать (поставить) в дискорде играет в игру

Как сделать в Дискорде статус «Играет в игру»: пошаговая инструкция

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

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

как поставить в дискорде играет в игру

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

Обратите внимание! Отдельный статус, отображающий, что вы сейчас играете в конкретную игру, можно установить в настройках профиля в разделе «Игры».

Что такое статус и основные варианты в Discord

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

как сделать (поставить) в дискорде статус играет в игру

Разработчики предложили пользователям четыре основных статуса. Эти состояния отмечены определенным символом, надписью и означают следующее:

 как в дискорде сделать (поставить) играет в игру

Как изменить статус в Discord

Смена состояния из базовых опций доступна всем пользователям, независимо от того, какой у них профиль – стандартный, или с дополнительной опцией Nitro. Смена статуса выполняется вручную, и для этого следует выполнить следующее:

  1. Откройте Дискорд, и авторизуйтесь.
  2. В нижней части экрана найдите свой ник, правой кнопкой мыши кликните по аватарке.
  3. В выпавшем списке выберите один из четырех статусов.
  4. Он установится сразу же после его отметки.

В Discord существуют еще и дополнительные режимы, например, Оверлей (Overlay) позволяет вести беседы в голосовом чате, оставаясь в игре. Такая опция незаменима во время командных игр, и помогает общаться с другими игроками.

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

как скрыть в дискорде во что играешь

Как скрыть в Дискорде информацию об игре, в которую играешь

В вашем списке игр может накопиться слишком много вкладок, и их можно отключить. Это позволить очистить основной список, и отключить отображение игры в Discord. Для этого выполните такие шаги:

  1. Откройте мессенджер, тапните по символу «шестеренка».
  2. В открывшихся категориях выберите пункт «Игровая активность».
  3. Найдите категорию с названием «Отображать в статусе игру, в которую сейчас играете».
  4. Таните курсором по левой части экрана, где вы увидите уведомление, что информация скрыта от других участников.

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

как в дискорде скрыть во что играешь

Если вы используете для игр компьютер, или ноутбук, то у вас должна быть именно десктопная версия. Для того чтобы скрыть отображение игровой активности, в настройках деактивируйте оверлей. Но в любом случае при отключении статуса, требуется активировать и другие параметры, для этого:

  1. Зайдите в раздел настроек приложения.
  2. В открывшемся окне выберите «Оверлей».
  3. Включите внутриигровой оверлей.
  4. В опции «Размер аватара» используйте вариант «Маленький», тем более, если на сервере много участников.
  5. Если вы собраны на одном канале перейдите в категорию «Показать пользователей».
  6. Установите пункт, который позволит скрыть свое присутствие в игре.

Обратите внимание! В браузерной версии Discord нет опции, позволяющей скрыть игру, в которую играешь. Поэтому загрузите десктопную, где доступны все настройки.

как скрыть в дискорде во что играешь шаг2

Как скрыть в Discord, во что играешь на телефоне

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

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

Удобным вариантом здесь будет и установка режима «animated». Чтобы его активировать, выберите пункт «Задать пользовательский…», в вариантах выберите необходимый временной отрезок, и нажмите на кнопку «Сохранить».


Любители поиграть в VoIP-мессенджере часто спрашивают, как добавить игру в Дискорд, какие функции доступны и можно ли менять название. Отдельного внимания заслуживают ошибки, которые могут появиться при попытке загрузить или установить приложение.

Как добавить игру в Discord

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

В остальном ситуация не изменилась. При этом пользователи должны знать, как добавить игру в библиотеку Discord, а впоследствии правильно в нее играть.

Алгоритм действий такой:

  1. Войдите в программу Дискорд.
  2. Жмите на символ шестеренки внизу.




На последнем этапе переведите тумблер отображения в правую сторону.

Как изменить название

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

Как играть

Программа Дискорд предлагает клиентам много опций. Кратко рассмотрим их особенности.

Go Live

С помощью этой функции можно заняться стримингом на голосовом канале. Эту опцию можно добавить и использовать на ПК с Виндовс 8 или 10. Просмотр стримов доступен с приложения на компьютере или веб-версии в проводнике Хром. В мобильном варианте программы такая опция пока недоступна.

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

Перед тем как играть в Дискорде, сделайте некоторые настройки. Выделим основные:

  1. Установите разрешение. Для всех подписчиков доступно 720 р и 32fps, а для подписчиков Nitro — 4К и 60 fpx.
  2. Пригласите друзей. Для этого можно воспользоваться ссылкой-приглашением на канал.
  3. Установите права доступа. Перейдите в настройки сервера, а далее в раздел Роли, где легко открыть доступ к игре Дискорд другим пользователям. Эти параметры можно менять напрямую в настройках канала через вкладку Права доступа.



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

Оверлей

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

  1. Жмите на шестеренку внизу (настройки).
  2. Выберите раздел Оверлей.



Учтите, что некоторые антивирусные системы могут срабатывать на оверлей, поэтому необходимо добавить Дискорд в белый список защитного ПО. Если приложение вылетает или имеют место скачки пинга, отключите оверлей. Для этого:

  • войдите в настройки пользователя;
  • перейдите в раздел Игровая активность;
  • отключите оверлей для проблемной игры.

После этого можно спокойно играть и не переживать о сбоях.

Как удалить отображенные игры

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

  • войдите в приложение и жмите на символ шестеренки слева внизу;
  • перейдите в раздел Игровая активность;
  • найдите пункт Отображать в статусе игру, в которую вы сейчас играете;
  • переведите его в левую сторону.


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

Ошибки и их решение

При попытке добавить или установить игру могут возникнуть некоторые ошибки. Рассмотрим их причины и решение:

  1. 2022 — недостаточно места на жестком диске для обновления или установки. Удалите старые мемы или храните их на диске с большим объемом памяти.
  2. 2023 — закрыт доступ к диску из-за неправильного указания пути. Для решения выберите путь с разрешением на установку или измените его, чтобы можно было добавить Дискорд.
  3. 2058 — частые попытки обращения к API. Попробуйте закрыть и открыть программу, разблокируйте домен в настройках сети.
  4. 2064 — не удается обновить файл. Для решения перезапустите ПК и Дискорд, отключите на время антивирусное ПО. Проверьте, через Диспетчер задач, что игра не запущена.
  5. 2069 — проблемы с API Дискорд. Выждите пять минут и перезапустите игровое приложение.
  6. 2074 — трудности с удалением игры. Попробуйте убрать их вручную и перезапустите Дискорд.
  7. 2076 — обновление нескольких клиентов одновременно. Для решения проблемы желательно использовать одну версию программы.


Итоги

Читайте также: