抱歉,又是我 ![]()
你提到自动化插件可以帮助授予徽章。也许你有一些关于如何做到的提示?我在下拉菜单中找不到任何相关内容:
查看 commit,它似乎应该可用于 send_pms 和 zapier_webhook 脚本:
此触发器需要一个
badge作为必填字段,并接受一个可选的only_on_first_grant字段。目前可用于:send_pms和zapier_webhook脚本。
抱歉,可能不太清楚,让我来解释一下。
目前我们只有一个授予徽章的触发器,这意味着我们可以在用户获得徽章时调用脚本。但我们并没有你现在所说的“用于授予徽章的脚本”,该脚本会在某个事件(加入特定群组?)触发。如前所述,我们目前最好的解决方案是 Creating triggered custom badge queries
非常感谢您的帮助!
我真的很希望我们能设置一个 API,在用户发布第一篇帖子时授予他们徽章 ![]()
谢谢!
这非常有帮助!
Helga,您好:
如果您想自动授予徽章,最佳方法是通过 SQL 查询来完成。
您可以在管理后台 → 徽章 (admin->badges) 中找到它。
然后向下滚动查找 SQL 查询。
如果您在 meta.discourse.org 上搜索,可能会幸运地找到有人已经编写了您想要的查询。
我最喜欢的查询是在某人加入群组时授予徽章。下面的示例在用户加入“discourse-admin”群组后的 24 小时内授予徽章。
select user_id, created_at granted_at, NULL post_id
from group_users
where group_id = (
select g.id from groups g where g.name = 'discourse-admin'
)
我将以下设置与徽章的查询一起使用:
为此,您需要启用自定义 SQL 徽章,但这并非对所有人都可用,具体取决于您的托管服务:
不过,也建议使用 API 作为替代方案。
哦,哇,我不知道那个。感谢 @JammyDodger 的提示!
我想也可以从 Data Explorer 插件中获取 SQL 查询结果,然后使用 api 来授予徽章。