# 사용자가 링크를 방문할 때 배지 지급

**URL:** <https://meta.discourse.org/t/grant-badge-when-user-visits-link/276700>\
**Category:** Data & reporting\
**Tags:** sql-triggered-badge\
**Created:** [8월 25, 2023, 10:55오후 UTC](https://meta.discourse.org/t/grant-badge-when-user-visits-link/276700 "2023-08-25T22:55:08Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [8월 26, 2023, 6:34오후 UTC](https://meta.discourse.org/t/grant-badge-when-user-visits-link/276700/6 "2023-08-26T18:34:45Z")

</div>

> [@Sami\_Syed](#):
>
> 저는 이 배지를 우리 과정의 회원들에게만 부여하고 싶습니다.  
> 일반 대중에게 이 주제를 숨기고, 링크를 통해 클릭한 사람들에게만 접근할 수 있도록 하는 방법이 있을까요?

사용하고 계신 방법을 100% 정확히 이해하고 있는지 확실하지 않습니다. 설정을 너무 복잡하게 만들고 있지는 않은지 확인해 보시는 것이 좋을 수 있습니다.

> [@Sami\_Syed](#):
>
> 두 번째로, Dfata explorer 플러그인을 사용하여 이 작업을 수행하는 방법은 무엇인가요?

JSON을 확인하는 것이 취향이 아니라면, post\_id 조회 쿼리는 다음과 같은 형태가 될 것입니다:

```sql
-- [params]
-- topic_id :topic_id
-- int :post_number

SELECT id
FROM posts 
WHERE topic_id = :topic_id
  AND post_number = :post_number

```

그런 다음 게시물의 URL을 사용하여 주제 ID와 게시물 번호를 추출하여 매개변수 상자에 입력하면 됩니다. 예: `https://meta.discourse.org/t/grant-badge-when-user-visits-link/276700/4` (주제 링크에 포함되지 않더라도 OP는 항상 post\_number 1인 점에 유의하세요)

* * *

사실, 데이터 탐색기를 사용하여 post\_id를 조회하는 것을 더 쉽게 만들어 줄 마법 같은 매개변수가 있습니다…

```sql
-- [params]
-- post_id :url

SELECT id 
FROM posts
WHERE id = :url

```

해당 게시물의 URL을 매개변수 상자에 붙여넣으면, _et voila_ - post\_id가 나타납니다 🙂

 ![post_id](https://global.discourse-cdn.com/meta/original/4X/5/5/b/55baf4e95d82dc82639a14b740dde85cbe6fb76d.png)

---

_[View the full topic](https://meta.discourse.org/t/grant-badge-when-user-visits-link/276700)._
