¿Discourse cumpliría todas estas necesidades específicas para ser un foro de comunidad de videojuegos?

Hola comunidad de Discourse,

Tengo un videojuego emergente para el que planeo dedicar un foro. Mis ambiciones pueden ser un poco arriesgadas, así que quería consultar con alguien con más experiencia en esta plataforma si estoy tomando la decisión correcta al elegir Discourse. Planeo una integración completa, de modo que una notificación del foro llegue al juego y viceversa. Por ejemplo: enviar un mensaje privado a un jugador desconectado se redirigiría a su bandeja de entrada del foro, y al iniciar sesión, se les notificará sobre su bandeja de entrada mientras estaban desconectados.

Ya instalé mi primer servidor de desarrollo y quedé impresionado con todas sus funciones. Sin embargo, al entrar al panel de administración, me sentí abrumado y surgieron más preguntas que nunca.

Me gustaría saber qué funciones de las siguientes ya están incluidas en Discourse y cuáles tendría que implementar yo mismo:

  1. Generar automáticamente una cuenta de foro vinculada a una cuenta de juego.
  2. Configurar la clave secreta OAUTH (2FA) de un usuario para que coincida con la autenticación de dos factores (2FA) de una cuenta de juego (fuente externa).
  3. Revocar o agregar permisos mediante la API (agregar/quitar moderadores de jugadores).
  4. Agregar insignias o títulos a un usuario mediante la API (otorgar “flair” a jugadores por competiciones).
  5. Enviar webhooks cuando un usuario recibe un mensaje en su bandeja de entrada o una notificación (para enviarlos a mi servidor de juego y reenviarlos como notificaciones dentro del juego).
  6. Enviar un webhook cuando alguien es baneado en el foro (para silenciarlo también en los servidores de juego).
  7. Banear a alguien mediante la API o eliminar al usuario (si es baneado en el juego).
  8. Cambiar un nombre de usuario mediante la API (el que usan para iniciar sesión, no los correos de notificación; por ejemplo, si cambian su nombre visible en el juego).

Tendrás que implementar algún tipo de inicio de sesión social para ello.

No entiendo esto. ¿Podrías explicarlo con más detalle?

Es posible.

Esto podría ser posible mediante un plugin personalizado, pero no tengo conocimiento de ninguna posibilidad interna al respecto.

Nuevamente, tendrás que hacer esto mediante un plugin personalizado.

Esto es posible.

Podría ser posible, pero no lo he probado ni implementado.

En primer lugar, gracias. Respondiste excelentemente a muchas de esas preguntas.

Para profundizar en el punto 2:

La autenticación de dos factores (2FA) utiliza una clave compartida, generalmente ofuscada detrás de un código QR. Cada vez que escaneas un código QR, en realidad estás escaneando una clave privada para generar tus códigos de 2FA basados en el tiempo. Noté que es posible habilitar 2FA en este sitio web, pero no estoy seguro de si sería posible distribuir o asignar estos códigos de 2FA a las cuentas yo mismo, en lugar de que los usuarios los generen.

Caso de uso: Supongamos que gestiono la autenticación de dos factores en el sitio web de mi juego. Los usuarios se registran para activar 2FA en mi sitio web, y este les proporciona una clave privada para su teléfono, permitiéndoles iniciar sesión tanto en el juego como en el foro. Por lo tanto, quiero que el mismo código de 2FA funcione tanto para la cuenta del juego como para la del foro; así, en segundo plano, asignaré su clave privada de 2FA a su cuenta del foro cuando se registren correctamente.

Quiero decir, ¿no podría simplemente insertar un usuario en la base de datos? ¿O no hay una llamada a la API para crear una cuenta? Sería sorprendente si no la hubiera.

@simbleau, algunas de tus respuestas anteriores no eran correctas. Aquí tienes las correctas:

Tenemos clientes que hacen esto; solo necesitas una única llamada a la API para crear la cuenta de foro desde tu sistema de cuentas de juego.

En este caso, es más fácil configurar el foro para que utilice tu sistema de cuentas de juego como proveedor de identidad. Puedes implementar DiscourseConnect - SSO oficial para Discourse para permitirlo.

Se hace fácilmente mediante la API.

¡También se hace fácilmente mediante la API!

Tenemos soporte para webhooks en el evento de notificación; es totalmente factible sin necesidad de personalizaciones.

El webhook de «Evento de usuario» cubre esto.

También es solo una llamada a la API.

Es posible, pero puede ser bastante costoso si el usuario tiene muchas publicaciones.

¡Gracias @Falco! Este tema ya se puede cerrar.

Agradezco tus comentarios.