> For the complete documentation index, see [llms.txt](https://happytalk.gitbook.io/happybot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://happytalk.gitbook.io/happybot/block_scenario/parameter/undefined.md).

# 시스템 상수

## 1. 시스템 에서 제공하는 상수

{% hint style="success" %}
시스템에서 기본적으로  제공하는 상수를 사용하여 출력할 수 있습니다.
{% endhint %}

{% hint style="info" %}
1\) 시스템 상수 값을 불러올 때는 일반 변수와 같이 <mark style="color:blue;">**{{  }}**</mark>를 사용합니다.

2\) 아래 목록을 참고하여, 챗봇 응답에 시스템에 설정된 상수를 삽입할 수 있습니다.
{% endhint %}

### 1) 날짜 및 시간 표시 상수

| 변수명                 | 설명                                                | 예시                              |
| ------------------- | ------------------------------------------------- | ------------------------------- |
| {{YESTERADY}}       | 현재 시스템 기준으로, 어제 시간을 표기합니다.(YYYYMMDD)              | 20220117(오늘이 2022년 1월 18일인 경우)  |
| {{TODAY}}           | 현재 시스템 기준 날짜를 표기합니다.(YYYYMMDD)                    | 20220118(오늘이 2022년 1월 18일 인 경우) |
| {{LAST\_WEEK}}      | 현재 시스템 기준으로, 저번주의 날짜를 표기합니다.                      | 20220111(오늘이 2022년 1월 18일인 경우)  |
| {{YYYYMMDD}}        | 현재 시스템 기준으로, 년월일을 표시합니다.                          | 20220118(오늘이 2022년 1월 18일 인 경우) |
| {{YYYY}}            | 현재 시스템 기준의 년을 표시합니다                               | 2022                            |
| {{YY}}              | 현재 시스템 기준의 년을 표시합니다                               | 22                              |
| {{MM}}              | 현재 시스템 기준의 월을 표시합니다                               | 01                              |
| {{DD}}              | 현재 시스템 기준의 일을 표시합니다                               | 18                              |
| {{RRRRRR}}          | 6자리 랜덤 숫자를 제공합니다 100000\~999999 까지 랜덤하게 값이 표출됩니다. | 634321                          |
| {{RRRRR}}           | 5자리 랜덤 숫자를 제공합니다 10000\~99999 까지 랜덤하게 값이 표출됩니다.   | 52432                           |
| {{RRRR}}            | 4자리 랜덤 숫자를 제공합니다 1000\~9999 까지 랜덤하게 값이 표출됩니다.     | 5463                            |
| {{h}}               | 현재 시스템 기준 시간을 제공합니다. 12시간 단위 1자리 형태로 표기           | 1시 (1시인 경우)                     |
| {{hh}}              | 현재 시스템 기준 시간을 제공합니다. 12시간 단위 2자리 형태로 표기           | 01시 (1시인 경우)                    |
| {{H}}               | 현재 시스템 기준 시간을 제공합니다. 0\~23시 사이 단위 1자리 형태로 표기      | 23시 (23시인 경우)                   |
| {{HH}}              | 현재 시스템 기준 시간을 제공합니다. 0\~23시 사이 단위 2자리 형태로 표기      | 01시 (1시인 경우)                    |
| {{mm}}              | 현재 시스템 기준 분을 제공합니다                                | 45(45분인 경우)                     |
| {{ss}}              | 현재 시스템 기준 초를 제공합니다                                | 32(32초인 경우)                     |
| {{BOT\_NAME}}       | 챗봇의 이름을 가져옵니다                                     | 챗봇 설정 내 이름 표기됨.                 |
| {{TODAYDASH}}       | 오늘 날짜를 대시형으로 가져옵니다                                | 2024-02-06                      |
| {{siteId}}          | 해당 계정의 siteId를 가져옵니다(해피봇New,상담콜 Flow builder 한정)  | 1000224365                      |
| {{roomId}}          | 해당 채팅방의 roomId를 가져옵니다                             | 65c19f0ad1d78lTGpFU9KSB3fdezYE  |
| {{LAST\_MONTH}}     | 30일 전 값이 yyyymmdd로 출력됩니다                          | 20240418                        |
| {{LAST\_MONTHDASH}} | 30일 전 값이 yyyy-mm-dd로 출력됩니다                        | 2024-04-18                      |

### 2) 날짜 계산 확장 상수

{% hint style="info" %}
날짜 계산 상수를 사용하여 기준 날짜(오늘)을 기준으로 전/후 날짜를 자유롭게 불러올 수 있는 변수를 제공합니다.

* 변수 형식 : {{DAYSAGO\_n}} 또는 {{DAYSLATER\_n}}\
  (n은 날짜 간격을 나타내는 숫자이며, 음수는 지원하지 않음)
* 날짜 상수는  {{DAYSAGO\_n : 포맷코드}}를 통해 출력 형식을 지정할 수 있습니다.\
  ex. {{DAYSAGO\_1 : YYYY년 M월 D일}}
* 각 포맷은 TODAY, LAST\_MONTH, YYYY, hh 등의 기존 시스템 상수와도 조합하여 사용 가능합니다.
* 월, 요일 등의 텍스트는 한국어 기준으로 출력됩니다.
* 기본 포맷은 YYYY-MM-DD입니다.
  {% endhint %}

#### :heavy\_check\_mark: 사용 예시

| 템플릿                               | 예시 (2025년 4월 3일 기준) |
| --------------------------------- | ------------------- |
| {{DAYSAGO\_1}}                    | 2025-04-02          |
| {{DAYSAGO\_1:YYYY년 M월 D일}}        | 2025년 4월 2일         |
| {{DAYSLATER\_0:YYYY.MM.DD (ddd)}} | 2025.04.03 (목)      |

#### :pushpin: 날짜 포맷&#x20;

| 포맷             | 설명           | 예시   |
| -------------- | ------------ | ---- |
| `YY`           | 두 자리 연도      | 25   |
| `YYYY`         | 네 자리 연도      | 2025 |
| `M`            | 월 (1\~12)    | 4    |
| `MM`           | 월 (두 자리)     | 04   |
| `MMM` / `MMMM` | 월 이름 (짧은 한글) | 4월   |
| `D`            | 일 (1\~31)    | 3    |
| `DD`           | 일 (두 자리)     | 03   |

#### :pushpin:요일 포맷&#x20;

| 포맷           | 설명                                                 | 예시                   |
| ------------ | -------------------------------------------------- | -------------------- |
| `d`          | <p>요일 번호 0 \~ 6 (일 \~ 토)<br>(각 요일에 해당하는 숫자 출력)</p> | <p>4<br>(목요일 의미)</p> |
| `dd` / `ddd` | 요일 (2글자 한글)                                        | 목                    |
| `dddd`       | 요일 (전체 한글)                                         | 목요일                  |

{% hint style="warning" %}
참고 : 포맷에 포함된 요일은 한국어 기준으로 노출됩니다.
{% endhint %}

#### :pushpin:시간  포맷

| 포맷   | 설명              | 예시 |
| ---- | --------------- | -- |
| `H`  | 24시간 형식 (0\~23) | 9  |
| `HH` | 24시간 형식 (두 자리)  | 09 |
| `h`  | 12시간 형식 (1\~12) | 9  |
| `hh` | 12시간 형식 (두 자리)  | 09 |
| `m`  | 분               | 4  |
| `mm` | 분 (두 자리)        | 04 |
| `s`  | 초               | 1  |
| `ss` | 초 (두 자리)        | 01 |

#### :pushpin:오전/오후/기타

| 포맷   | 설명                 | 예시            |
| ---- | ------------------ | ------------- |
| `A`  | 오전 / 오후 (대문자)      | 오전            |
| `a`  | 오전 / 오후 (소문자)      | 오후            |
| `Z`  | 시간대 표시 (±HH:mm 형식) | +09:00        |
| `ZZ` | 시간대 표시 (±HHmm 형식)  | +0900         |
| `Q`  | 분기(Quarter)        | 2             |
| `X`  | Unix 타임스탬프 (초)     | 1680746745    |
| `x`  | Unix 타임스탬프 (밀리초)   | 1680746745123 |

#### :pushpin:축약 포맷

| 포맷 코드  | 설명                 | 예시                      |
| ------ | ------------------ | ----------------------- |
| `LT`   | 시간 (오전/오후 포함, 분까지) | 오후 3:30                 |
| `LTS`  | 시간 (초 포함)          | 오후 3:30:45              |
| `L`    | 날짜 (숫자 기반)         | 2025-04-03              |
| `LL`   | 텍스트 날짜             | 2025년 4월 3일             |
| `LLL`  | 날짜 + 시간            | 2025년 4월 3일 오후 3:30     |
| `LLLL` | 요일 + 날짜 + 시간       | 2025년 4월 3일 목요일 오후 3:30 |

### 3) 숫자 계산 변수

{% hint style="info" %}
숫자 계산 변수는 숫자 값을 직접 계산하거나 특정 서식을 적용하는 데에 사용됩니다.
{% endhint %}

#### :heavy\_check\_mark: 사용 예시

<table><thead><tr><th width="151.22216796875"></th><th width="152.4444580078125">적용</th><th>설명</th></tr></thead><tbody><tr><td><code>{{age}}</code></td><td><code>{{age++}}</code></td><td>변수 <code>age</code>의 값이 1일 경우, 1이 더해져 <code>2</code>가 됩니다.</td></tr><tr><td><code>{{age}}</code></td><td><code>{{age--}}</code></td><td>변수 <code>age</code>의 값이 2일 경우, 1이 빼져 <code>1</code>이 됩니다.</td></tr><tr><td><code>{{phone}}</code></td><td><code>{{phone:-}}</code></td><td>변수 <code>phone</code>의 값이 <code>01022223333</code>일 경우, 하이픈이 추가됩니다.</td></tr></tbody></table>

***

## 2. 챗봇 응답에 시스템 상수 삽입하기

#### **👉 따라 해 보세요!**

> 챗봇 응답에 시스템 상수를 삽입하는 방법을 알아보겠습니다.<br>
>
> "지금 몇시야?"라는 물음에, 'OO시 OO분'과 같이 응답하려면 {{hh}}와 {{mm}}을 조합하여 챗봇 응답을 작성할 수 있습니다.

### 1) 블럭 생성하기

> 먼저 시스템 상수를 삽입할 블럭을 생성합니다. \
> 본 예시에서는 텍스트 블럭을 사용했습니다.

<div align="left"><figure><img src="/files/4POSyf0NXvhX4T3KV04S" alt=""><figcaption></figcaption></figure></div>

### 2) 챗봇 응답에 시스템 상수 삽입

> 위에서 만든 블럭에 "현재 시각은 {{hh}}시 {{mm}}분입니다."와 같이, '현재 시각'과 '현재 분' 시스템 상수를 삽입하여 챗봇 답변을 구성합니다.

<div align="left"><figure><img src="/files/775ylBN6oVUETd8jbeww" alt=""><figcaption></figcaption></figure></div>

### 3) 챗봇 응답 확인

> 챗봇에 보여지는 결과 화면입니다. 시스템 상수가 잘 출력되는 것을 확인할 수 있습니다.

<figure><img src="/files/E3KluqZjoCTQeNz5rtbj" alt=""><figcaption></figcaption></figure>
