用户未收到 Nice Reply 徽章,因为类别未公开

“精彩回复”是一个内置徽章,授予在回复中获得至少 10 个赞的用户。我有四位用户在回复中获得了超过 10 个赞,但其中只有一位拥有“精彩回复”徽章。这是为什么?

我意识到“精彩回复”属于“发帖”徽章组,与“良好回复”和“优秀回复”同组,但这三位缺少徽章的用户在该组中没有任何徽章,因此这无法解释原因。

我已启用徽章功能,并在 /sidekiq/scheduler 运行了徽章任务,以确保无误。

为了调试,我调整了“精彩回复”徽章的 SQL 语句并在数据浏览器中运行,结果确实找到了我四位拥有 10 个或以上赞的用户:

SELECT p.user_id, p.id post_id, p.updated_at granted_at
FROM posts p
WHERE p.post_number > 1 and p.like_count > 10

Are they not receiving it at all? Because there is a small bug, which doesn’t let you know that you have received the badge, but you can see it if you go to Profile > Badges


I have had this, the date of April 2017 is given because that is when the post that received its 10th like or in your case 25 for a good reply (albeit only given yesterday or today) was originally posted.

Are the posts with 10 likes in public topics? The badge is only granted for public topics.

They are not receiving it at all, as far as I can tell. I’m looking at /u/username/badges. It’s not just a matter of an unexpected date. I think my methodology is correct because I see the badge for 1 out of 4 users.

Yes, it’s public. I don’t see a difference between the topic in which the one successful user posted, and the topics in which the unsuccessful three users posted.

Good to know though.

I’d like to try to debug this. Is there a way I could run the badge job from the console, maybe with verbose output, to see what it’s thinking?

Is this category “public” enough to earn the Nice Reply badge?

image

No, they need to have “everyone” can “See”. (and not the “Do not grant badges for posts in this category” box but I assume that isn’t your problem)