> ## 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.

# Variabelenreferentie

> Elke placeholder-variabele in Vetox, gegroepeerd per functie — en waarom sommige vierkante haken gebruiken en andere accolades.

Variabelen zijn placeholders die worden vervangen door echte waarden wanneer een bericht wordt verzonden.

## Twee verschillende syntaxen

<Warning>
  **Vetox gebruikt twee syntaxen, en ze zijn niet uitwisselbaar.**

  | Syntaxis     | Gebruikt door                          |
  | ------------ | -------------------------------------- |
  | `[Vierkant]` | Welcomer-, goodbye- en greet-berichten |
  | `{krullen}`  | Alles anders                           |

  Een `{User}` in een welkomstbericht wordt letterlijk afgedrukt. Een `[user]` in een ticket-bericht wordt letterlijk afgedrukt.
</Warning>

## De universele regel

<Warning>
  **Een onbekende variabele wordt lege tekst, geen fout** — en in embeds **wordt een veld waarvan de titel of waarde leeg uitkomt geheel uit het bericht gedropt.**

  Dit is verreweg de meest voorkomende oorzaak van "mijn embed-veld blijft verdwijnen". Het is bijna altijd een verkeerd gespelde variabele of eentje die niet bestaat voor die functie.
</Warning>

## Welcomer, goodbye en greet

| Variabele      | Waarde                                     |
| -------------- | ------------------------------------------ |
| `[User]`       | Het lid                                    |
| `[ServerName]` | De naam van je server                      |
| `[UsersCount]` | Het nieuwe ledenaantal                     |
| `[Inviter]`    | Wie hen heeft uitgenodigd — alleen welkom  |
| `[Code]`       | De gebruikte invite-code — alleen welkom   |
| `[CountUrl]`   | Een member-count image URL — alleen welkom |

<Warning>
  **`[Server]` is geen variabele.** Hij staat in het standaard welkomstbericht en drukt letterlijk af. Vervang door `[ServerName]`.
</Warning>

<Note>
  `[Inviter]` en `[Code]` hebben **Manage Server** nodig zodat Vetox uitnodigingen kan lezen.
</Note>

## Tickets

De rijkste set in Vetox. Bruikbaar in ticket-embeds, kanaalnaam-formats en support-hours-berichten.

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

  <Accordion title="Het ticket" 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="Kanaal, paneel en optie" icon="hashtag">
    `{channel}` `{channel.mention}` `{channel.name}` `{channel.id}` `{panel}` `{panel.name}` `{panel-name}` `{option}` `{option.label}`
  </Accordion>

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

  <Accordion title="Staf en acties" 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="Formulierantwoorden" icon="clipboard-list">
    `{form.1}`, `{form.2}` … — **1-geïndexeerd**, in de volgorde waarin je vragen verschijnen.

    `{form.Label}` werkt ook, met het eigen label van de vraag.
  </Accordion>

  <Accordion title="Tijd en statistieken" icon="clock">
    `{date}` `{time}` `{timestamp}` `{time.created}` `{time.opened}` `{time.claimed}` `{time.closed}` — elk accepteert ook `.age`.

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

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

### Modifiers

Ticketvariabelen accepteren modifiers met `{variable?modifier=value}`: `upper`, `lower`, `capitalize`, `truncate`, `slice`, `padleft`, `padright`, `replace`, `fallback`, `date`, `timestamp`, `math`, `ordinal`, `join`, `if`.

<Tip>
  `{user.name?upper}` schreeuwt de naam. `{ticket.closeReason?fallback=Geen reden opgegeven}` voorkomt dat een leeg veld gedropt wordt — wat de schoonste fix is voor verdwijnende embed-velden.
</Tip>

## Counting

`{count}` `{user}` `{record}` — plus `{start}` en `{savesLeft}` in de reset- en save-berichten.

<Warning>
  `{server}` wordt aangeboden maar **rendert altijd leeg**. Typ de naam van je server rechtstreeks.
</Warning>

## Starboard

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

## Self-Roles

`[Role]` — de naam van de rol, in de DM-meldingen.

## Giveaway-sjablonen

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

## Meldingen

Elk platform heeft zijn eigen set. Een variabele van het ene platform op een ander gebruiken levert leeg op.

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

    Alleen live: `{stream.title}` `{stream.game}` `{stream.viewers}` `{stream.thumbnail}`
  </Accordion>

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

    Alleen live: `{stream.title}` `{stream.category}` `{stream.viewers}` `{stream.thumbnail}`

    Let op `{stream.category}`, niet Twitch's `{stream.game}`.
  </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="Podcasts" icon="podcast">
    Werkend: `{episode.title}` `{episode.url}` `{episode.description}` `{podcast.name}`

    <Warning>
      `{episode.duration}`, `{podcast.author}` en `{podcast.artwork}` worden aangeboden maar **produceren nooit een waarde**. Elk veld dat alleen daaruit is opgebouwd wordt gedropt.
    </Warning>
  </Accordion>
</AccordionGroup>

## Variabelen die niet werken

<Warning>
  Bevestigd niet-functioneel. Vermijd deze:

  | Variabele                                   | Waar                                   | Gedrag                                                               |
  | ------------------------------------------- | -------------------------------------- | -------------------------------------------------------------------- |
  | `[Server]`                                  | Welcomer                               | Geen variabele — drukt letterlijk af                                 |
  | `{server}`                                  | Counting-milestones                    | Altijd leeg                                                          |
  | `{episode.duration}`                        | Podcasts                               | Altijd leeg                                                          |
  | `{podcast.author}`                          | Podcasts                               | Altijd leeg                                                          |
  | `{podcast.artwork}`                         | Podcasts                               | Meestal leeg                                                         |
  | `{username}`, `{server.name}`, `{nickname}` | **Applicatie-workflow-acties**         | Altijd leeg — ze werken in DM-berichten maar niet in actie-sjablonen |
  | `{stream.*}`                                | Twitch/Kick **offline** aankondigingen | Leeg; alleen-live                                                    |
</Warning>

<Card title="Problemen oplossen" icon="wrench" horizontal href="/nl/help/troubleshooting">
  Wanneer een bericht helemaal niet aankomt.
</Card>
