자동화로 배지를 부여하는 방법?

죄송합니다, 또 왔네요 :slight_smile:

Automation 플러그인이 배지 부여에 도움이 될 수 있다고 언급하셨는데, 혹시 어떻게 해야 하는지 힌트를 주실 수 있을까요? 드롭다운에서 관련 내용을 찾을 수 없네요:

커밋을 살펴보면, send_pms와 zapier_webhook 스크립트에서 사용할 수 있을 것 같습니다:

이 트리거에는 badge가 필수 필드로 필요하며, 선택적으로 only_on_first_grant 필드를 받아들입니다. 현재는 send_pms와 zapier_webhook 스크립트에서 사용할 수 있습니다.

정확하지 않을 수 있어서 설명을 드릴게요.

현재 우리는 부여된 배지에 대한 트리거만 가지고 있습니다. 즉, 사용자가 배지를 받을 때 스크립트를 호출할 수 있다는 뜻이에요. 하지만 지금 요청하신 배지를 부여하는 스크립트는 특정 이벤트(예: 특정 그룹 가입)가 발생했을 때 트리거되는 것이므로, 현재로서는 정확히 구현되어 있지 않습니다. 앞서 설명드린 대로, 지금까지의 최선의 해결책은 Creating triggered custom badge queries 입니다.

도와주셔서 정말 감사합니다!

사용자가 첫 게시물을 올릴 때마다 배지를 부여할 수 있는 API를 설정할 수 있기를 진심으로 바랍니다. :pray:t2:

감사합니다!

정말 도움이 많이 됩니다!

헬가님,

배지를 자동으로 부여하려면, 배지의 SQL 쿼리를 통해 설정하는 것이 가장 좋은 방법입니다.
이것은 관리자 → 배지에서 찾을 수 있습니다.

그다음 아래로 스크롤하여 SQL 쿼리를 찾으세요.

meta.discourse.org에서 검색해 보면, 이미 누군가가 찾고 있는 쿼리를 작성해 놓은 것을 발견할 수도 있습니다.

제 favorite 쿼리는 사용자가 그룹에 가입하면 배지를 부여하는 것입니다. 아래 예제는 사용자가 “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!

데이터 탐색기 플러그인에서 SQL 쿼리 결과를 가져온 다음, API를 이용해 배지를 부여하는 것도 가능할 것 같습니다.