禁用徽章重复问题

禁用“此徽章可多次授予”选项不起作用,至少对于 SQL 触发的徽章是这样。

我有三个徽章禁用了此选项,但它们仍然被自动触发了很多次。

我曾因此遇到一个非常大的问题,所以我在这里报告这并非个例,而是可能存在错误行为。

如果可能的话,请发布徽章的 SQL 以及徽章设置的屏幕截图,例如这些设置:

(已将此主题移至 Support,直到我们至少能确认不是配置问题)

1 个赞

我也遇到了同样的问题,所以插句话。我已经在几个基于 SQL 的徽章上禁用了“多次授予此徽章”的设置,但它们仍然被重复授予。如果有人找到了解决方案,或者这是否被确认为一个 bug,那将很有帮助。如果需要,我也可以分享我的徽章 SQL。

请发布SQL和您的徽章设置,以便我确认配置是否正确并尝试复现问题。

1 个赞
SELECT 
    gs.user_id, 
    current_timestamp AS granted_at 
FROM 
    gamification_scores gs
WHERE 
    (:backfill OR gs.user_id IN (:user_ids))
    AND gs.date >= (current_date - interval '1 month')
    AND NOT EXISTS (
        SELECT 1 
        FROM user_badges ub
        WHERE ub.user_id = gs.user_id
        AND ub.badge_id = YOURIDOFBADGE
    )
GROUP BY 
    gs.user_id
HAVING 
    SUM(gs.score) > 11

我仍然想看一张截图,谢谢。原因是,我可以验证它是否是相同的屏幕(版本),并且即使界面语言不同,设置也相同(也可能是某个组件或插件更改了设置页面)。例如,我不想仅仅假设“activator”意味着“trigger”(尽管我认为在这种情况下是这样)。

2 个赞

哦,当然。开始吧:

我想知道这是普遍的错误还是我个人的问题?

这看起来像是自动化出了bug,而不是自定义徽章的问题?

我记得我们之前讨论过这些徽章(https://meta.discourse.org/t/amending-sample-gamification-scoring-badge/275737/2)。它们是一直都有问题,还是最近才出现的?

在没有测试的情况下,看起来不属于那里的是“AND NOT EXISTS”部分。你是想在查询本身中处理不授予多个的情况吗?

1 个赞