> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 변수 레퍼런스

> Vetox의 모든 자리표시자 변수를 기능별로 정리 — 그리고 왜 어떤 것은 대괄호를, 어떤 것은 중괄호를 사용하는지.

변수는 메시지 전송 시 실제 값으로 대체되는 자리표시자입니다.

## 두 가지 다른 문법

<Warning>
  **Vetox는 두 가지 문법을 사용하며 서로 호환되지 않습니다.**

  | 문법      | 사용처                   |
  | ------- | --------------------- |
  | `[대괄호]` | Welcomer, 작별 및 인사 메시지 |
  | `{중괄호}` | 그 외 모든 것              |

  환영 메시지의 `{User}`는 그대로 출력됩니다. 티켓 메시지의 `[user]`도 그대로 출력됩니다.
</Warning>

## 보편 규칙

<Warning>
  **알 수 없는 변수는 오류가 아니라 빈 텍스트가 됩니다** — 그리고 임베드에서는 **제목이나 값이 빈 값으로 끝나는 필드는 메시지에서 완전히 제외됩니다.**

  이것이 "임베드 필드가 계속 사라져요"의 가장 흔한 원인입니다. 거의 항상 오탈자 변수이거나 해당 기능에서 존재하지 않는 변수입니다.
</Warning>

## Welcomer, 작별, 인사

| 변수             | 값                           |
| -------------- | --------------------------- |
| `[User]`       | 멤버                          |
| `[ServerName]` | 서버 이름                       |
| `[UsersCount]` | 새로운 멤버 수                    |
| `[Inviter]`    | 초대한 사람 — welcome에만 사용       |
| `[Code]`       | 사용된 초대 코드 — welcome에만 사용    |
| `[CountUrl]`   | 멤버 수 이미지 URL — welcome에만 사용 |

<Warning>
  **`[Server]`는 변수가 아닙니다.** 기본 환영 메시지에 나타나며 그대로 출력됩니다. `[ServerName]`으로 교체하세요.
</Warning>

<Note>
  `[Inviter]`와 `[Code]`는 Vetox가 초대를 읽을 수 있도록 **Manage Server** 권한이 필요합니다.
</Note>

## 티켓

Vetox에서 가장 풍부한 세트. 티켓 임베드, 채널 이름 형식, 지원 시간 메시지에서 사용할 수 있습니다.

<AccordionGroup>
  <Accordion title="멤버" icon="user">
    `{user}` `{mention}` `{username}` `{userid}` `{user.mention}` `{user.name}` `{user.username}` `{user.tag}` `{user.id}`
  </Accordion>

  <Accordion title="티켓" icon="ticket">
    `{ticket}` `{number}` `{num}` `{ticket.number}` `{ticket-number}` `{#number}` `{ticket.channel}` `{ticket.channelName}` `{ticket.priority}` `{ticket.closeReason}` `{ticket.openedAt}` `{ticket.createdAt}` `{ticket.closedAt}` `{ticket.users}`
  </Accordion>

  <Accordion title="채널, 패널, 옵션" icon="hashtag">
    `{channel}` `{channel.mention}` `{channel.name}` `{channel.id}` `{panel}` `{panel.name}` `{panel-name}` `{option}` `{option.label}`
  </Accordion>

  <Accordion title="서버" icon="server">
    `{server}` `{server.name}` `{server.id}` `{server.members}` `{server.icon}` `{server.banner}` `{guild}` `{members}`
  </Accordion>

  <Accordion title="스태프 및 조치" icon="user-shield">
    `{staff}` `{staff.mention}` `{staff.name}` `{claim.user}` `{claim.name}` `{close.user}` `{close.name}` `{close.reason}` `{escalate.reason}` `{escalate.panel}` `{reason}`
  </Accordion>

  <Accordion title="폼 답변" icon="clipboard-list">
    `{form.1}`, `{form.2}` … — **1부터 시작하는 인덱스**로, 질문 순서에 따릅니다.

    `{form.Label}`도 작동하며, 질문의 자체 레이블을 사용합니다.
  </Accordion>

  <Accordion title="시간 및 통계" icon="clock">
    `{date}` `{time}` `{timestamp}` `{time.created}` `{time.opened}` `{time.claimed}` `{time.closed}` — 각각 `.age`도 지원합니다.

    `{statistics.tickets.open}` `{statistics.tickets.created}` `{statistics.tickets.closed}` `{statistics.tickets.claimed}` `{statistics.tickets.averageRating}`
  </Accordion>

  <Accordion title="지원 시간" icon="business-time">
    `{supportHours.status}` `{supportHours.nextOpen}` `{supportHours.nextOpenTime}` `{supportHours.nextOpenRelative}` `{supportHours.closesAt}` `{supportHours.closesAtTime}`
  </Accordion>
</AccordionGroup>

### 수식어

티켓 변수는 `{variable?modifier=value}` 형태로 수식어를 지원합니다: `upper`, `lower`, `capitalize`, `truncate`, `slice`, `padleft`, `padright`, `replace`, `fallback`, `date`, `timestamp`, `math`, `ordinal`, `join`, `if`.

<Tip>
  `{user.name?upper}`는 이름을 대문자로 외칩니다. `{ticket.closeReason?fallback=No reason given}`은 빈 필드가 제거되는 것을 방지합니다 — 사라지는 임베드 필드에 대한 가장 깔끔한 해결책입니다.
</Tip>

## 카운팅

`{count}` `{user}` `{record}` — 그리고 리셋 및 저장 메시지에서 `{start}`와 `{savesLeft}`.

<Warning>
  `{server}`가 제공되지만 **항상 빈 값으로 렌더링됩니다**. 서버 이름을 직접 입력하세요.
</Warning>

## 스타보드

`{author}` `{stars}` `{channel}` `{link}` `{content}` `{emoji}`

## 셀프 롤

`[Role]` — DM 알림에서의 역할 이름.

## 경품 템플릿

`{prize}` `{winners}` `{host}` `{endsAt}` `{id}` `{description}` `{requiredRole}` `{minAccountAge}` `{entryCount}`

## 알림

각 플랫폼마다 자체 세트가 있습니다. 다른 플랫폼의 변수를 사용하면 빈 값으로 해석됩니다.

<AccordionGroup>
  <Accordion title="Twitch" icon="twitch">
    `{streamer.name}` `{streamer.url}` `{streamer.avatar}`

    라이브 전용: `{stream.title}` `{stream.game}` `{stream.viewers}` `{stream.thumbnail}`
  </Accordion>

  <Accordion title="Kick" icon="tower-broadcast">
    `{streamer.name}` `{streamer.url}` `{streamer.avatar}`

    라이브 전용: `{stream.title}` `{stream.category}` `{stream.viewers}` `{stream.thumbnail}`

    Twitch의 `{stream.game}`가 아니라 `{stream.category}`입니다.
  </Accordion>

  <Accordion title="YouTube" icon="youtube">
    `{channel.name}` `{channel.avatar}` `{video.title}` `{video.url}` `{video.thumbnail}` `{video.type}`
  </Accordion>

  <Accordion title="Reddit" icon="reddit">
    `{post.title}` `{post.url}` `{post.author}` `{post.content}` `{post.flair}` `{post.thumbnail}` `{subreddit.name}` `{subreddit.url}` `{subreddit.icon}`
  </Accordion>

  <Accordion title="Bluesky" icon="cloud">
    `{post.text}` `{post.url}` `{post.image}` `{post.likes}` `{author.name}` `{author.handle}` `{author.avatar}`
  </Accordion>

  <Accordion title="Steam" icon="steam">
    `{news.title}` `{news.url}` `{news.content}` `{news.category}` `{news.author}` `{game.name}` `{game.image}`
  </Accordion>

  <Accordion title="RSS" icon="rss">
    `{item.title}` `{item.url}` `{item.description}` `{item.author}` `{feed.name}` `{feed.url}`
  </Accordion>

  <Accordion title="팟캐스트" icon="podcast">
    작동: `{episode.title}` `{episode.url}` `{episode.description}` `{podcast.name}`

    <Warning>
      `{episode.duration}`, `{podcast.author}`, `{podcast.artwork}`는 제공되지만 **값을 절대 생성하지 않습니다**. 오직 이들로만 구성된 필드는 제거됩니다.
    </Warning>
  </Accordion>
</AccordionGroup>

## 작동하지 않는 변수

<Warning>
  확인된 미작동 변수. 사용하지 마세요:

  | 변수                                          | 위치                      | 동작                                     |
  | ------------------------------------------- | ----------------------- | -------------------------------------- |
  | `[Server]`                                  | Welcomer                | 변수가 아님 — 그대로 출력                        |
  | `{server}`                                  | 카운팅 마일스톤                | 항상 빈 값                                 |
  | `{episode.duration}`                        | 팟캐스트                    | 항상 빈 값                                 |
  | `{podcast.author}`                          | 팟캐스트                    | 항상 빈 값                                 |
  | `{podcast.artwork}`                         | 팟캐스트                    | 대개 빈 값                                 |
  | `{username}`, `{server.name}`, `{nickname}` | **지원서 워크플로 액션**         | 항상 빈 값 — DM 메시지에서는 작동하지만 액션 템플릿에서는 안 됨 |
  | `{stream.*}`                                | Twitch/Kick **오프라인** 공지 | 빈 값; 라이브 전용                            |
</Warning>

<Card title="문제 해결" icon="wrench" horizontal href="/ko/help/troubleshooting">
  메시지가 아예 도착하지 않을 때.
</Card>
