O Discourse atenderia a todas essas necessidades específicas para ser um fórum de comunidade de videogame?

Olá, comunidade Discourse,

Tenho um jogo de vídeo em fase inicial e planejo dedicar um fórum a ele. Minhas ambições podem ser um pouco ousadas, então gostaria de saber de alguém com mais experiência nesta plataforma se estou realmente fazendo a escolha certa ao optar pelo Discourse. Planejo uma integração completa, de modo que uma notificação do fórum vá para o jogo e vice-versa. Por exemplo: enviar uma mensagem privada a um jogador offline alimentaria a caixa de entrada do fórum dele, e quando ele fizer login, será notificado sobre sua caixa de entrada offline.

Já instalei meu primeiro servidor de desenvolvimento e fiquei impressionado com os recursos extras. Fiquei tão entusiasmado que, ao acessar o painel de administração, tive mais perguntas do que nunca.

Gostaria de saber o quanto das funcionalidades a seguir já está disponível no Discourse e o que talvez precise implementar eu mesmo.

  1. Se eu quiser gerar automaticamente uma conta de fórum vinculada a uma conta de jogo
  2. Se eu quiser definir o segredo OAUTH (autenticação de dois fatores) de um usuário para corresponder ao 2FA de uma conta de jogo (fonte externa)
  3. Se eu quiser revogar ou adicionar permissões via API (adicionar/remover moderadores de jogadores)
  4. Se eu quiser adicionar distintivos ou títulos a um usuário via API (conceder ‘flair’ a jogadores por competições)
  5. Se eu quiser enviar webhooks quando um usuário receber uma mensagem na caixa de entrada ou uma notificação (para enviar ao meu servidor de jogo e encaminhar como notificação no jogo)
  6. Se eu quiser enviar um webhook ao banir alguém no fórum (para silenciá-los também nos servidores de jogo)
  7. Banir alguém via API ou excluir o usuário (caso seja banido no jogo)
  8. Alterar um nome de usuário via API (o que eles usam para fazer login, não os e-mails de notificação; ou seja, se alterarem o nome de exibição no jogo)

Você terá que implementar algum tipo de login social para isso.

Não entendi isso. Poderia elaborar?

É possível.

Isso pode ser possível por meio de um plugin personalizado, mas não tenho conhecimento de qualquer possibilidade interna assim.

Novamente, você terá que fazer isso em um plugin personalizado.

Isso é possível.

Pode ser possível, mas não tentei ou implementei isso.

Primeiro, obrigado. Você respondeu a muitas dessas perguntas de forma excelente.

Para detalhar o ponto 2:

O 2FA utiliza uma chave compartilhada, geralmente ofuscada por trás de um código QR. Sempre que você escaneia um QR, na verdade está escaneando uma chave privada para gerar seus códigos 2FA baseados em tempo. Notei que o 2FA é possível neste site, mas não tenho certeza se seria possível distribuir ou atribuir esses códigos 2FA às contas eu mesmo, em vez de os usuários gerá-los.

Caso de uso: Digamos que eu gerencie o 2FA no site do meu jogo. Os usuários se cadastram para o 2FA no meu site, e meu site lhes fornece uma chave privada para seu telefone, permitindo que façam login no jogo e no fórum. Portanto, quero que o mesmo código 2FA funcione tanto para a conta do jogo quanto para a do fórum. Assim, nos bastidores, atribuirei a chave privada 2FA deles à conta do fórum quando eles se cadastrarem com sucesso.

Quero dizer, não poderia apenas inserir um usuário no banco de dados? Ou não há uma chamada de API para criar uma conta? Seria surpreendente se não houver.

@simbleau você errou algumas respostas acima, aqui estão algumas corretas:

Temos clientes fazendo isso; você só precisa de uma única chamada de API para criar a conta de fórum a partir do seu sistema de contas de jogo.

Neste caso, é mais fácil configurar o fórum para usar seu sistema de contas de jogo como Provedor de Identidade. Você pode implementar o DiscourseConnect - Single-Sign-On Oficial para Discourse (sso) para permitir isso.

Feito facilmente via API.

Também feito facilmente via API!

Temos suporte a webhooks para o evento de Notificação, totalmente viável sem necessidade de personalizações.

O webhook de “Evento de Usuário” cobre isso.

Apenas uma chamada de API também.

Viável, mas pode ser bastante caro se o usuário tiver muitas publicações.

Obrigado, @Falco! Este tópico pode ser bloqueado agora.

Agradeço o feedback.