不要显示拥有特定徽章的用户名

是否有办法隐藏拥有特定徽章的用户列表?

我查看了 Don't list members having the same badgeshttps://meta.discourse.org/t/hide-badge-user-list/46471,但它们并不完全符合我们的用例(或者更可能是我们的边缘情况)。

徽章在我们的社区中非常受欢迎,它们是提高参与度的绝佳资源。

我们的 Discourse 有一些高级类别,仅对订阅者/付费会员可用,我们希望通过个人资料中的金徽章来奖励这些付费会员,在此示例中我们称之为“额外特别会员”。

付费会员的数量是商业敏感数字。

该数字将泄露给任何拥有“额外特别会员”徽章的人,即使它在徽章页面上隐藏了,他们也可以简单地点击自己的徽章,然后看到所有也拥有该徽章的其他会员。

有没有办法阻止人们看到谁还拥有某个特定徽章?:thinking:

您不能改用Flair吗?

嗯mmm :thinking:

很有可能……

这个警告是否有泄露敏感成员编号的风险?

由于这是一个主群组,名称“hidden_group_test_2”将在 CSS 类中使用,任何人都可以查看。

抱歉颜色鲜艳,这只是为了测试:

1 个赞

我不反对泄露隐藏的用户组名称,只要成员列表/计数不被泄露。

我已经进行了一些测试,但不确定这是否适合我们的用例。

(来自我们隐藏群组的)徽章会应用到用户身上,但他们一旦加入我们任何其他群组,他们的徽章就会被他们刚加入的群组的徽章替换。

在他们的个人资料上,他们之后只能选择一个公开群组的徽章,他们完全失去了对特殊成员徽章的访问权限,也无法重新应用它 :confused:

您是否在其他组中设置了此项:

Screenshot 2023-02-07 at 2.09.34 PM

它位于每个组的“管理/成员资格”下的“效果”中。

如果此项已在该组上设置而不在其他组上设置,则不应覆盖。

主组将决定用户的默认装饰和标题。

1 个赞

是的,它已在我们所有的群组上设置,因此他们会获得他们刚刚加入的群组的徽章。

其他的想法是强制所有用户使用一个头衔,例如“访客”,但这可以被他们更改为他们拥有的任何徽章头衔。我认为我无法阻止人们更改他们的头衔。

我想让访客和会员能够识别彼此(例如,通过徽章),但又不泄露我们拥有的“超级特别会员”的数量。

还有其他创新的解决方案或变通方法吗?

我能用“用户字段”做些巧妙的事情吗?

也许创建一个名为“状态”的用户字段,使其在个人资料中可见,但不能由用户编辑。然后我可以通过 API 调用自动更新这个“状态”用户字段吗?(我们触发一个 API 调用将他们添加到组中)

我可能发现了什么:

我创建了一个名为“会员”的用户字段,并且不允许他们编辑:

如果我编辑一个用户进行测试,我可以在他们的个人资料中看到“会员:是”:

但这可能是决定性的:

我该如何着手呢?:thinking:

我已经有一个在某人成为会员时已经进行的 API 调用,我向 Discourse 发送一个 API 调用将他们添加到组中。我能否也发送第二个 API 调用来更新该用户字段?

当然 :slight_smile:

每次你在 Discourse 中执行任何操作时,都可以查看浏览器开发者工具的网络选项卡,以了解所进行的查询。

例如,在这里我保存了一个用户的个人资料:

你会看到请求 URL,其中提到了用户名,以及请求的类型(PUT)。
在 Payload 选项卡中,你会看到相关数据:

自定义字段列为 user_fields[X],其中 X 是自定义字段的编号。


编辑:我看到你在 Dev 中已经解决了这个问题,所以,只是为了交叉链接…… :slight_smile:

1 个赞