阅读 ToS 后授予自定义徽章

继续关于 阅读指南徽章的工作原理? 的讨论:

用户在阅读条款后将自动获得徽章,如何将其用于自定义徽章?


找到的资源:

这是关于“阅读指南”徽章的:

还有这个……虽然我不知道在哪里插入 SQL 来创建徽章:

……以及潜在的问题,即如果用户只能从选项卡视图中看到 /tos,那么它是否被视为一个主题:

2 个赞

这个有帮助吗?

3 个赞

噢,看起来它会帮助/或引导我朝着正确的方向前进!
谢谢!

2 个赞

我不确定是否可以像那样将一个类似的链接关联到服务条款。:thinking: “阅读指南”依赖于 user_stats 表中记录的 read_faq,目前没有机制可以对服务条款做同样的事情。

由于用户可见版本不是实际的主题,我认为查看该页面没有在任何地方被记录(如 topic_views 等)。

2 个赞

是否可以更改数据库/表以包含新的 read_tos


可能有一个不太优雅的解决方法…
…将主题作为已发布的页面发布,而不是像 FAQ 和关于页面那样使用无缝集成。我不知道这是否真的有效…

测试和发现:

  • SQL 查询返回已阅读该主题的用户,因此应该授予徽章,但我没有收到该通知。

  • 我可以确认,在没有直接访问该主题的情况下访问 /pub/slug 会更新该主题的浏览量……但是,即使阅读时间极短,徽章也不会自动授予。

  • 还需要注意的是,该主题本身仍然向用户显示为新的和未读的。

  • 进一步的隔离测试结果表明,SQL 查询暗示用户必须直接访问该主题才能被视为已阅读该主题。我无法确认也无法否认,因为徽章尚未授予,但这是最合理的解释。

“每日更新”触发器何时运行?

2 个赞

您是否知道团队在更新服务条款时具体做了什么,要求我们确认已阅读?虽然不是徽章,但这会不会是策略插件?

您可以通过从 /sidekiq/scheduler 页面手动触发 jobs::BadgeGrant 来加快此过程(有权限的用户)。我的在 3 小前运行了,但它会因站点而异。

如果您不介意将其放在普通的旧主题中,您可以创建一个新主题并将其链接添加到您的 tos url 管理员设置中,这样它仍然会显示在选项卡中。然后,您可以根据人们查看该主题的情况轻松授予徽章(尽管您对已发布页面的实验也可能结出硕果 :crossed_fingers:

我认为要像“阅读指南”那样做,您需要创建一个插件来复制服务条款的行为(但这并非我的强项,所以请姑且听之 :slight_smile:

这是一个必需的自定义字段,我认为它对此非常适用。尽管您只说您已阅读,但并未真正阅读,所以这可能取决于授予徽章的主要目的是什么。

3 个赞

等等,这实际上很聪明!

你还可以关闭并取消列出该帖子,这样就无法回复它,只能通过直接链接访问。

不幸的是,这不会像上面那样直接奏效。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.