カスタムトリガーの場合、Campaignerクエリをコピーして、招待ではなくバッジ用に調整できると思います。
これは「バッジ108」を5つ持っている場合に設定され、毎日更新されるようにします。
SELECT u.id user_id, current_timestamp granted_at
FROM users u
WHERE u.id IN (
SELECT ub.user_id
FROM user_badges ub
WHERE ub.badge_id = 108
GROUP BY ub.user_id
HAVING COUNT(*) >= 4
) AND u.active AND u.silenced_till IS NULL AND u.id > 0 AND
(:backfill OR u.id IN (:user_ids) )
テストサイトで簡単にテストしましたが、問題なく動作するようです(待機時間を短縮するためにBadge Grant sidekiqジョブをトリガーしました)。しかし、少なくともそこから構築するための出発点になることを願っています。![]()
まだ見つけていない場合は、インスピレーションとして使用できるいくつかの異なる例もここにあります。Some common badge queries ![]()