Соответствует ли Discourse всем этим нишевым потребностям для форума сообщества видеоигр?

Привет, сообщество Discourse,

У меня есть начинающий видеоигровой проект, для которого я планирую создать форум. Мои амбиции могут показаться немного смелыми, поэтому я хотел бы узнать у более опытных пользователей этой платформы, действительно ли я правильно выбираю Discourse. Я планирую полную интеграцию: уведомления с форума будут приходить в игру и наоборот. Например, отправка приватного сообщения офлайн-игроку будет сохраняться в его почтовом ящике на форуме, а при входе в игру он получит уведомление о новых сообщениях в офлайн-ящике.

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

Мне бы хотелось узнать, какие из перечисленных ниже функций уже реализованы в Discourse, а какие придётся реализовать самостоятельно:

  1. Автоматическая создание учётной записи форума, привязанной к игровому аккаунту.
  2. Настройка OAUTH-секрета (двухфакторной аутентификации) пользователя так, чтобы она соответствовала 2FA игрового аккаунта (внешний источник).
  3. Отмена или предоставление прав через API (добавление/удаление модераторов среди игроков).
  4. Добавление значков или титулов пользователю через API (награждение игроков «флером» за участие в соревнованиях).
  5. Отправка вебхуков при получении пользователем сообщения в почтовом ящике или уведомления (для пересылки на игровой сервер и отображения как внутриигрового уведомления).
  6. Отправка вебхука при блокировке пользователя на форуме (чтобы также запретить ему доступ к игровым серверам).
  7. Блокировка или удаление пользователя через API (если он был забанен в игре).
  8. Изменение имени пользователя через API (то, под которым они входят в систему, а не имена в уведомлениях по электронной почте; например, если они меняют отображаемое имя в игре).

Для этого вам придётся реализовать какой-то вид входа через социальные сети.

Я не совсем понимаю. Не могли бы вы пояснить?

Это возможно.

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

Опять же, это придётся реализовать в кастомном плагине.

Это возможно.

Возможно, но я не пробовал и не реализовывал это.

Сначала хочу сказать спасибо. Вы отлично ответили на многие из этих вопросов.

Чтобы подробнее остановиться на пункте 2:

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

Сценарий использования: Допустим, я управляю 2FA на веб-сайте моей игры. Пользователи активируют 2FA на моём сайте, и мой сайт предоставляет им приватный ключ для входа в игру и на форум с помощью их телефона. Таким образом, я хочу, чтобы один и тот же код 2FA работал как для аккаунта в игре, так и для аккаунта на форуме. Следовательно, в фоновом режиме я буду назначать их приватный ключ 2FA их форумному аккаунту после успешной регистрации.

Я имею в виду, разве я не могу просто вставить пользователя в базу данных? Или нет API-вызова для создания учётной записи? Если этого нет, это удивительно.

@simbleau, вы привели несколько неверных ответов выше, вот правильные:

У нас есть клиенты, которые это делают. Вам достаточно сделать один вызов API, чтобы создать учётную запись форума из вашей системы игровых учётных записей.

В этом случае проще настроить форум так, чтобы он использовал вашу систему игровых учётных записей в качестве провайдера идентификации. Вы можете реализовать DiscourseConnect — официальное решение для единого входа (SSO) для Discourse, чтобы обеспечить это.

Легко реализуется через API.

Тоже легко реализуется через API!

У нас есть поддержка вебхуков для события «Уведомление», это полностью реализуемо без каких-либо дополнительных настроек.

Для этого подходит вебхук события «Событие пользователя».

Это тоже просто вызов API.

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

Спасибо @Falco! Эту тему теперь можно закрыть.

Я ценю вашу обратную связь.