Discourse 能满足视频游戏社区论坛的这些特殊需求吗?

你好,Discourse 社区,

我有一款初创视频游戏,计划为其专门搭建一个论坛。不过我的想法可能有点天马行空,所以想请教一位在这个平台上更有经验的朋友,确认我选择 Discourse 是否明智。我计划实现深度集成,即论坛的通知会同步到游戏中,反之亦然。例如:向离线玩家发送私信时,该消息会进入他们的论坛收件箱,当他们登录游戏时,会收到离线收件箱的提醒。

我已经安装了我的第一个开发服务器,对其丰富的功能印象深刻。但进入管理面板后,我反而被其复杂性弄得有些不知所措,问题也越来越多。

我想知道以下功能中有多少是 Discourse 原生支持的,又有哪些需要我自己实现:

  1. 自动创建与游戏账号绑定的论坛账号。
  2. 将用户的 OAuth 密钥(双因素认证)与游戏账号的双因素认证(外部来源)进行匹配。
  3. 通过 API 添加或移除权限(例如添加或移除玩家版主)。
  4. 通过 API 为用户添加徽章或头衔(例如为比赛获奖玩家授予“特殊标识”)。
  5. 当用户收到收件箱消息或通知时触发 Webhook(以便发送到游戏服务器,进而转发为游戏内通知)。
  6. 当用户在论坛被封禁时触发 Webhook(以便在游戏服务器中同时禁言该用户)。
  7. 通过 API 封禁某人或删除用户(如果他们在游戏中被封禁)。
  8. 通过 API 修改用户名(即登录名,而非通知邮件中的名称,例如当他们在游戏中更改显示名称时)。

(注:原文编号顺序为 1,2,4,3,5,6,7,9,此处已按逻辑顺序调整为 1-8 以便阅读,但内容完全对应原文。)

为此你需要实现某种社交登录功能。

我不太明白这一点。能否详细说明一下?

这是可行的。

这可能可以通过自定义插件实现,但我不知道有任何内置功能支持这一点。

同样,你需要通过自定义插件来实现这一点。

这是可行的。

可能可行,但我尚未尝试或实现过此功能。

首先,非常感谢。您出色地解答了其中许多问题。

关于第2点的进一步说明:

2FA 使用一个共享密钥,通常隐藏在二维码之后。当您扫描二维码时,实际上是在扫描一个私钥,用于生成您的动态 2FA 验证码。我注意到该网站支持 2FA,但我不确定是否可以在用户自行生成之前,由我分发或分配这些 2FA 密钥给各个账户。

使用场景举例:假设我在我的游戏网站上管理 2FA。用户在网站上启用 2FA 后,我的网站会为他们生成一个私钥,供其手机使用,以便登录游戏和论坛。因此,我希望同一个 2FA 验证码能同时用于游戏账户和论坛账户。为此,我将在用户成功注册后,在后台将他们的 2FA 私钥关联到其论坛账户。

我的意思是,难道我不能直接向数据库插入用户吗?还是说没有创建账户的 API 调用?如果没有的话,这倒是挺让人意外的。

@simbleau 你上面的一些回答有误,这里提供正确的解答:

我们有客户正在这样做,你只需要通过游戏账号系统调用一次 API 即可创建论坛账号。

在这种情况下,更简单的方法是将论坛配置为使用你的游戏账号系统作为身份提供商。你可以实现 DiscourseConnect - Discourse 官方单点登录 (SSO) 来实现这一功能。

通过 API 可以轻松完成。

通过 API 同样可以轻松完成!

我们支持通知事件的 webhook,无需任何自定义即可实现。

“用户事件”webhook 可以覆盖此需求。

这也只需要一次 API 调用。

可以实现,但如果用户发布了很多帖子,这可能会相当耗时。

感谢 @Falco!这个话题现在可以锁定了。

我很感激大家的反馈。