一次性为多个用户分配徽章

是否有办法批量授予用户徽章?

计划向数百名用户授予特定徽章。不确定是否有任何方法可以做到这一点,除了点击每个用户的管理页面并授予徽章……

您可以在 /admin/badges 页面的批量奖励工具中完成此操作。:+1:

3 个赞

感谢您的回复!
有个快速的问题,我上传了一个csv文件,每行开头是一个电子邮件。

但是,已经过了一段时间,徽章仍未分发。

所以我尝试在后面添加逗号只是为了测试。
如果第一行有逗号,系统会提示说第一行的导入失败。

所以我现在很卡住,在帖子中,它看起来是这样的。

是否有任何更具体的正确导入csv的示例?

image

这甚至都没有为用户分配徽章。有什么调试技巧吗?

基于:

这应该是每行一个电子邮件或用户名,并且从代码来看,您不需要逗号。
您最初的做法应该可以。 :thinking:

您是否看到了“您的 CSV 已收到,x 位用户将很快收到他们的徽章”?

另外,请注意“很快”;这不是立即的。我认为有一个作业队列,您可能需要等待一天。您可以在 /sidekiq/scheduler 页面上手动触发 BadgeGrant 作业。它应该会清空队列。

感谢您的快速回复。

您是否看到了“您的 CSV 已收到,x 位用户将很快收到他们的徽章”?

是的,我看到了!

/sidekiq/scheduler 这是扩展程序吗?我不认为我们安装了 sidekiq。而且我现在无法安装该扩展程序。也许我需要等一天。

太好了,那应该就没问题了!

它不是扩展。Discourse 在内部使用它来处理后台任务。
您的 Discourse 是自托管的吗?如果是,您应该可以在 \u003cyour_url\u003e/sidekiq/scheduler 看到它。
您也可以再等等,没问题的 :smile:

1 个赞

批量奖励是即时的。:+1: BadgeGrant 作业用于自动奖励。

谢谢!它是自托管的。

但是,我在计划任务中没有看到它……而且徽章仍然没有被授予。

我想知道这是否是因为徽章包含非英文字符(如果这有影响的话)?

不过,一个一个地授予徽章是有效的。

好的,感谢您的告知!澄清一下,我实际上并没有测试它——我只是检查了代码。看起来代码会将项目放入队列(但再看一遍,似乎默认情况下队列会立即处理,除非另有指示)。我的错!:pray:

我不这么认为,还是没有成功吗?

2 个赞

问题已找到。

CSV 中的第一个用户不知何故被忽略了。我一直在检查第一个用户是否拥有它。但显然,除了第一个用户之外,所有用户都收到了徽章。

我现在已手动授予第一个用户,问题已解决 :slight_smile:

感谢您的所有帮助!

2 个赞

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