빠른 시작 가이드
변수를 사용하면 명령어 응답에 동적인 정보를 넣을 수 있어요!
변수는 $변수명 형태로 사용하고, 실행 시 실제 값으로 바뀌어요.
일부 변수는 봇에게 특정 권한이 부여되어 있어야 작동해요.
- 채팅 운영자: 임시 차단, 채팅 횟수 조회 등 채팅 관리 기능
- 채널 관리자: 팔로워 정보, 구독자 정보 조회 등 채널 관리 기능
권한 부여 방법은 권한 부여 방법을 참고해보세요.
대시보드에서 찾아보기
변수 목록은 이 문서뿐만 아니라 대시보드 시스템 변수 페이지에서도 볼 수 있어요.

오른쪽 '예시 / 설명 보기' 를 누르면 그 변수의 상세 설명과 실제 채팅창 예시가 나타나요.
옵션이 붙는 변수($countdown: 같은)는 여기서 확인하는 게 빨라요.

: 이 들어간 변수는 띄어쓰기에 주의
$countdown:0000-03-04 처럼 : 이 들어간 변수는 값 뒤에 띄어쓰기가 한 칸 필요해요.
붙여 쓰면 다음 띄어쓰기 전까지가 통째로 값으로 들어가서 서식 잘못됨 이 출력돼요.
사용자 정보 변수
닉네임
$nick / $name명령어를 사용한 사람의 닉네임을 출력해요.
!추가 뚜하 $nick님 안녕하세요!마지막남은뚜또: 뚜하마지막남은뚜또님 안녕하세요!$nick과 $name은 똑같이 동작해요. 편한 걸로 쓰세요.
익명 사용자(후원 익명처럼)의 경우 익명이 출력돼요.
입력값 인식
$args명령어 뒤에 입력된 텍스트를 출력해요.
!추가 !테스트 내용: $args마지막남은뚜또: !테스트 뚜바또보내용: 뚜바또보시청자가 입력한 변수는 작동하지 않아요
$args 로 들어온 값 안에 $nick 같은 변수가 있어도 치환되지 않고 글자 그대로 나와요.
예시: !테스트 $nick님 안녕하세요! → 내용: $nick님 안녕하세요!
시청자가 채팅으로 변수를 넣어 남의 정보를 뽑아내지 못하게 막아둔 거예요.
$nick · $name 으로 들어온 값도 마찬가지예요.
팔로우 여부
$follow_check팔로우 여부를 출력해요. 팔로우했으면 True, 안 했으면 False
!추가 !팔체 팔로우 여부: $follow_check마지막남은뚜또: !팔체팔로우 여부: True팔로우 기간
$followDate팔로우한 기간을 자세히 출력해요. (예: 8개월 14일 2초)
!추가 !팔로우 $nick 연구원은 $followDate 동안 연구실 청소중이야~!마지막남은뚜또: !팔로우마지막남은뚜또 연구원은 8개월 14일 2초 동안 연구실 청소중이야~!에러 응답
팔로우하지 않은 사용자는 [팔로우하지 않음]이 출력돼요.
팔로우 일수
$followDay팔로우한 일수만 출력해요. (예: 262일)
!추가 !몇일 팔로우한 지 $followDay!마지막남은뚜또: !몇일팔로우한 지 262일!에러 응답
팔로우하지 않은 사용자는 [팔로우하지 않음]이 출력돼요.
팔로우 순서
$followOrder몇 번째 팔로워인지 출력해요.
!추가 !순서 $nick님은 $followOrder번째로 팔로우해주셨어요!마지막남은뚜또: !순서마지막남은뚜또님은 430번째로 팔로우해주셨어요!봇 권한 필요
봇에 채널 관리자 권한 또는 대시보드 연동이 필요해요.
권한이 없으면 [오류, 봇 권한 필요]가 출력돼요.
구독 순서
$subscriberOrder몇 번째 구독자인지 출력해요.
!추가 !구독순서 $nick님은 $subscriberOrder번째로 구독해주셨어요!채링: !구독순서채링님은 42번째로 구독해주셨어요!봇 권한 필요
봇에 채널 관리자 권한 또는 대시보드 연동이 필요해요.
권한이 없으면 [오류, 봇 권한 필요]가 출력돼요.
구독자가 아니거나 정보를 찾을 수 없으면 [파악 불가]가 출력돼요.
구독 날짜
$subscriberDate구독한 날짜를 출력해요.
!추가 !구독날짜 $nick님의 구독 날짜: $subscriberDate채링: !구독날짜채링님의 구독 날짜: 2024-03-06 20:26:11봇 권한 필요
봇에 채널 관리자 권한이 필요해요.
권한이 없으면 [오류, 봇 권한 필요]가 출력돼요.
구독자가 아니거나 정보를 찾을 수 없으면 [파악 불가]가 출력돼요.
채팅 횟수
$chatMessageCount이 채널에서의 총 채팅 횟수를 출력해요.
!추가 !채팅횟수 $nick님의 채팅 횟수는 $chatMessageCount회에요!마지막남은뚜또: !채팅횟수마지막남은뚜또님의 채팅 횟수는 1004회에요!치지직이 집계한 값을 우선 써요. 권한이 없거나 값이 9999 로 막혔을 때만 뚜봇이 직접 센 채팅 수와 비교해 큰 쪽을 보여줘요. 중간에 봇을 추가한 경우, 횟수가 9999에서 멈출 수 있어요.
권한이 없으면 값이 달라져요
봇에 채팅 운영자 권한이 있으면 치지직이 집계한 값이 나와요. 권한이 없어도 동작은 하지만, 뚜봇이 직접 감지한 채팅 수만 세어 보여줘요.
(같은 권한을 쓰는 $temporaryRestrictCount · $restrictCount 는 폴백이 없어
권한이 없으면 봇에게 권한이 없습니다. 가 나와요)
임시 차단 횟수
$temporaryRestrictCount사용자가 받은 임시 차단 횟수를 출력해요.
!추가 !임차 $nick님은 $temporaryRestrictCount번의 임시 차단을 받았어요!마지막남은뚜또: !임차마지막남은뚜또님은 1번의 임시 차단을 받았어요!봇 권한 필요
봇에 채팅 운영자 권한이 필요해요.
활동 제한 횟수
$restrictCount사용자가 받은 활동 제한 횟수를 출력해요.
!추가 !활제 $nick님은 $restrictCount번의 활동 제한을 받았어요..채링: !활제채링님은 1번의 활동 제한을 받았어요..봇 권한 필요
봇에 채팅 운영자 권한이 필요해요.
방송 정보 변수
스트리머 닉네임
$channelName해당 채널의 스트리머 닉네임을 출력해요.
!추가 뚜봇하이 🖐️ 스트리머 $channelName님! 반가워요 :>마지막남은뚜또: 뚜봇하이🖐️ 스트리머 마지막남은뚜또님! 반가워요 :>스트리머 UID
$channelUID해당 채널의 스트리머 UID를 출력해요.
!추가 !uid 스트리머 UID: $channelUID마지막남은뚜또: !uid스트리머 UID: 3c9f1a2b8d4e5f6071829a3b4c5d6e7f스트리머 아바타 URL
$channelAvatarUrl해당 채널의 스트리머 프로필 이미지 URL을 출력해요.
!추가 !아바타 프로필: $channelAvatarUrl마지막남은뚜또: !아바타프로필: https://nng-phinf.pstatic.net/...채널 프리뷰 URL
$channelPreviewUrl현재 방송의 미리보기 이미지 URL을 출력해요.
!추가 !미리보기 썸네일: $channelPreviewUrl마지막남은뚜또: !미리보기썸네일: https://livecloud-thumb.akamaized.net/...방송 여부
$isLive현재 방송 중인지 여부를 출력해요. (True/False)
!추가 !방송중 방송 상태: $isLive마지막남은뚜또: !방송중방송 상태: True방송 제목
$title현재 방송 제목을 출력해요.
!추가 !방제 🎥 방송 제목: $title마지막남은뚜또: !방제🎥 방송 제목: 반갑습니다방송 카테고리
$game / $category현재 방송 카테고리(게임)를 출력해요.
!추가 !게임 🎮 플레이중인 게임: $game마지막남은뚜또: !게임🎮 플레이중인 게임: 마인크래프트일부 카테고리는 영어로 표시될 수 있어요. (예: talk)
시청자 수
$viewers현재 시청자 수를 출력해요.
!추가 !시청자수 시청자: $viewers명마지막남은뚜또: !시청자수시청자: 39명누적 시청자 수
$views이번 방송의 누적 시청자 수를 출력해요.
!추가 !뷰 뷰어: $views명마지막남은뚜또: !뷰뷰어: 390명팔로워 수
$followCount채널의 총 팔로워 수를 출력해요.
!추가 !팔로워 팔로워: $followCount명마지막남은뚜또: !팔로워팔로워: 633명구독자 수
$subscriberCount채널의 총 구독자 수를 출력해요.
!추가 !구독자 구독자: $subscriberCount명마지막남은뚜또: !구독자구독자: 500명봇 권한 필요
봇에 채널 관리자 권한 또는 대시보드 연동이 필요해요.
업타임
$uptime방송 진행 시간을 출력해요.
!추가 !업타임 $uptime마지막남은뚜또: !업타임2시간 1분 3초방송 중이 아닐 때는 [방송중이 아님]이 출력돼요.
시간 관련 변수
현재 시간
$time한국 시간을 출력해요.
!추가 !지금시간 $time마지막남은뚜또: !지금시간2024-11-20 01:29:23타임스탬프
$timestamp현재 시간을 Unix 타임스탬프로 출력해요.
!추가 !타임스탬프 현재 타임스탬프: $timestamp마지막남은뚜또: !타임스탬프현재 타임스탬프: 1732034963오늘 날짜
$today오늘 날짜를 출력해요.
!추가 !오늘 오늘은 $today입니다.마지막남은뚜또: !오늘오늘은 2024-11-20입니다.카운트다운
$countdown:날짜특정 날짜까지 남은 기간을 출력해요.
!추가 !생일 생일까지 $countdown:0000-03-04마지막남은뚜또: !생일생일까지 3개월 13일 남음.날짜 형식:
YYYY-MM-DD(예: 2025-12-25)YYYY-MM-DD_HH:MM:SS(예: 2025-12-25_00:00:00)- 연도를
0000으로 하면 매년 반복
옵션:
변수에 |옵션을 붙일 수 있어요.
| 옵션 | 설명 |
|---|---|
with_time | 시간 단위까지 표시 (시, 분, 초) |
hide | "남음/지남" 문구 숨김 |
옵션 사용 예시:
!추가 !생일 생일까지 $countdown:0000-03-04|hide,with_time
→ 결과: 생일까지 3개월 13일 23시간 29분 1초
카운트다운 (일수만)
$countdownOnlyDay:날짜특정 날짜까지 남은 일수만 출력해요.
!추가 !생일 생일까지 $countdownOnlyDay:0000-03-04 남음.마지막남은뚜또: !생일생일까지 104일 남음.주의
: 이 들어간 변수는 값 뒤에 띄어쓰기 한 개가 필요해요.
✅ $countdown:0000-03-04 남은 시간 (띄어쓰기 있음)
❌ $countdown:0000-03-04남은 시간 (띄어쓰기 없음)
카운트 변수
공용 변수
$var이 명령어가 채널에서 사용된 총 횟수를 출력해요. 누구든 사용하면 올라가요!
!추가 ? 갈고리 $var개 수집!마지막남은뚜또: ?갈고리 4개 수집!다른 명령어와 변수 공유하기:
$var:변수명 형태로 다른 명령어의 카운트를 공유할 수 있어요!
!추가 ?? 갈고리 $var:? 개 수집!
이렇게 하면 ? 명령어와 ?? 명령어가 같은 카운트를 공유해요.
개인 변수
$uservar이 사용자가 이 명령어를 사용한 횟수를 출력해요. 사람마다 따로 카운트돼요!
!추가 바보 $nick님이 $uservar번이나 바보라고 했어..!마지막남은뚜또: 바보마지막남은뚜또님이 3번이나 바보라고 했어..!다른 명령어와 변수 공유하기:
$uservar:변수명 형태로 다른 명령어와 개인 카운트를 공유할 수 있어요!
!추가 뚜바뚜보 $nick님이 $uservar:바보 번이나 바보라고 했어..!
임시 공용 변수
$tempvar$var와 동일하지만, 봇이 재입장하면 초기화돼요.
!추가 !오늘데스 오늘 데스: $tempvar회마지막남은뚜또: !오늘데스오늘 데스: 5회$tempvar:변수명다른 명령어와 임시 카운트를 공유해요.
!추가 !임시카운트 오늘 카운트: $tempvar:today마지막남은뚜또: !임시카운트오늘 카운트: 5방송마다 초기화되는 하루 카운트가 필요할 때 유용해요.
임시 개인 변수
$tempuservar$uservar와 동일하지만, 봇이 재입장하면 초기화돼요.
!추가 !오늘참여 $nick님은 오늘 $tempuservar번 참여했어요마지막남은뚜또: !오늘참여마지막남은뚜또님은 오늘 3번 참여했어요$tempuservar:변수명다른 명령어와 임시 개인 카운트를 공유해요.
!추가 !오늘참여2 $nick님의 오늘 참여 횟수: $tempuservar:참여마지막남은뚜또: !오늘참여2마지막남은뚜또님의 오늘 참여 횟수: 3콜론을 붙이고 안 붙이고의 차이
$tempvar— 그 명령어 자기 것만 세요$tempvar:이름— 같은이름을 쓰는 여러 명령어가 함께 셉니다
$var · $uservar 도 똑같은 규칙이에요.
메모 변수
$memo명령어에 메모를 저장하고 출력해요.
!추가 !멤버 멤버: $memo마지막남은뚜또: !멤버멤버: 마지막남은뚜또, 마지막남은뚜또, 후로기, 채링사용 방법:
- 일반 시청자가
!멤버를 입력하면 저장된 내용이 출력돼요. - 매니저 이상이
!멤버 새로운 내용을 입력하면 내용이 저장돼요. !멤버 삭제(또는!멤버 제거)를 입력하면 내용이 지워져요.
!멤버 <내용> 처럼 명령어 뒤에 내용을 붙여 고치는 건 매니저 이상만 할 수 있어요.
(제거 와 삭제 만 예약어예요. 그 밖의 말은 전부 메모 내용으로 저장돼요.)
저장된 내용이 없으면 [내용 없음]이 출력돼요.
메모는 명령어마다 따로 저장돼요
!멤버 에 저장한 메모와 !공지 에 저장한 메모는 서로 다른 메모예요.
명령어 하나당 메모 하나라고 생각하시면 돼요.
개인 메모
$userMemo사람마다 다르게 저장되는 메모예요.
!추가 !내메모 $nick님의 메모: $userMemo마지막남은뚜또: !내메모 오늘 목표는 다이아마지막남은뚜또님의 메모: 오늘 목표는 다이아시청자마다 자기만의 메모를 남길 수 있어요. 같은 명령어를 쳐도 사람마다 다른 내용이 나와요.
임시 메모 (봇 재입장 시 초기화)
$tempMemo$memo와 같지만, 봇이 재입장하면 지워져요.
!추가 !오늘공지 오늘 공지: $tempMemo마지막남은뚜또: !오늘공지 6시에 합방!오늘 공지: 6시에 합방!$tempUserMemo$userMemo와 같지만, 봇이 재입장하면 지워져요.
!추가 !오늘메모 $nick님의 오늘 메모: $tempUserMemo마지막남은뚜또: !오늘메모 3판만 하기마지막남은뚜또님의 오늘 메모: 3판만 하기그날 방송에서만 쓰는 공지·목표를 적어둘 때 좋아요. 다음 방송이면 자동으로 지워져요.
조회 전용 메모
메모를 읽기만 하고 싶을 때 써요. 매니저가 뒤에 내용을 붙여도 저장되지 않아요.
| 변수 | 대응하는 저장용 변수 |
|---|---|
$viewMemo | $memo |
$viewUserMemo | $userMemo |
$viewTempMemo | $tempMemo |
$viewTempUserMemo | $tempUserMemo |
메모는 명령어마다 따로 저장돼요
$viewMemo 는 $memo 와 같은 저장소를 보지만, 저장 위치가 명령어 이름으로 나뉘어요.
!공지 의 메모와 !공지확인 의 메모는 서로 다른 칸이에요.
그래서 아래처럼 쓰면 !공지확인 은 자기 메모(비어 있음) 만 보여줘요.
!추가 !공지 공지사항: $memo
!추가 !공지확인 공지사항: $viewMemo ← !공지 의 메모가 안 나와요
$viewMemo 는 같은 명령어 안에서 덮어쓰기를 막고 싶을 때 써요.
다른 명령어로 메모를 나눠 보는 건 불가능해요.
조용한 메모 저장
$memo:뒤에 붙인 값으로 메모를 바꿔요. 아무것도 출력하지 않아요.
!추가 !공지설정 $memo:8시시작마지막남은뚜또: !공지설정(아무것도 출력되지 않음)값에 띄어쓰기를 넣을 수 없어요. $memo:오늘은 8시 시작 이라고 쓰면 오늘은 까지만 저장돼요.
$userMemo: · $tempMemo: · $tempUserMemo: 도 비슷하게 동작해요.
$userMemo: 와 $tempUserMemo: 는 값 뒤에 |<시청자 UID> 를 붙여 다른 사람 메모를 지정할 수 있고, UID 형식이 틀리면 오류: UID가 올바르지 않습니다. 가 채팅에 나와요.
커스텀 스크립트와 함께 쓰라고 만든 기능이라, 직접 쓸 일은 드물어요.
메모 변수에는 권한 검사가 없어요
이 변수들 자체는 권한을 보지 않아요. 시청자 권한 명령어에 $memo: 를 넣어 두면
아무나 그 명령어를 쳐서 메모를 덮어쓸 수 있으니, 명령어의 필요 권한을 매니저로 올려두세요.
마커 변수
마커 생성
$marker명령어 입력 시점을 저장해요. 저장된 마커는 대시보드에서 확인할 수 있어요!
!추가 !마커 $marker마지막남은뚜또: !마커 링피트 2시간 당첨마커가 생성되었습니다.조용한 마커
$silentMarker아무것도 출력하지 않고 시점만 저장해요.
!추가 !마커 $silentMarker마지막남은뚜또: !마커 댕청미(아무것도 출력되지 않음)명령어 뒤에 설명을 붙이면 그 설명도 같이 저장돼요. 나중에 편집할 때 편해요.
방송 중에만 가능
마커는 방송 중에만 생성할 수 있어요!
$marker— 방송이 꺼져 있으면방송중이 아닙니다.가 출력돼요.$silentMarker— 아무 메시지도 없이 마커 저장만 건너뛰어요.
주사위 변수
$rolldiceTRPG 스타일로 주사위를 굴려요. (예: 1d20, 3d6)
!추가 !roll $rolldice마지막남은뚜또: !roll 1d20마지막남은뚜또님의 결과: 16사용 형식: {개수}d{면} (예: 1d20 = 20면체 주사위 1개)
개수는 20, 면수는 500 이 상한이에요. 넘으면 오류: 20d500 까지만 지원합니다. 그 이내에서 입력해주세요. 가 나와요.
여러 개를 굴리면 결과가 쉼표로 구분되어 나와요. 다만 봇이 공식 API로 보내는 채팅은 95자에서 잘리니, 너무 많이 굴리면 뒤가 날아갈 수 있어요.
제재 변수
임시 제한
$temporaryRestrictUser명령어를 사용한 사람에게 30초 동안 임시 제한을 부여해요.
!추가 !임시제한 $nick님이 스스로 임시제한을 선택하셨어요. $temporaryRestrictUser마지막남은뚜또: !임시제한마지막남은뚜또님이 스스로 임시제한을 선택하셨어요.임시 제한이란?
일정 시간 채팅이 불가능해지고, 시간이 지나면 자동으로 풀려요. 지속 시간은 뚜봇이 정하는 게 아니라 치지직이 정합니다 — 같은 사람이 반복해서 걸리면 30초 → 60초 → 180초 → 300초 순으로 늘어나요.
봇 권한 필요
봇에 채팅 운영자 권한이 필요해요.
검(매니저 배지)을 달고 있는 사용자에게는 작동하지 않아요.
활동 제한
$restrictUser명령어를 사용한 사람에게 영구 활동 제한을 부여해요.
!추가 !활동제한 $nick님이 스스로 활동제한을 선택하셨어요. $restrictUser채링: !활동제한채링님이 스스로 활동제한을 선택하셨어요.주의: 기본값은 영구 제한
$restrictUser만 사용하면 영구 활동 제한이 부여돼요.
기간을 지정하려면 반드시 $restrictUser:일수 형태로 사용하세요.
기한 설정하기:
$restrictUser:일수 형태로 제한 기간을 설정할 수 있어요.
| 변수 | 제한 기간 |
|---|---|
$restrictUser | 영구 (해제 전까지 계속) |
$restrictUser:1 | 1일 |
$restrictUser:7 | 7일 |
$restrictUser:30 | 30일 |
사용 가능한 기간: 1, 3, 7, 15, 30, 90일
$restrictUser:-1 은 안 돼요. 숫자 서식 검사에서 걸려 오류: 제한 기간을 입력해주세요. (예시: $restrictUser:7) 가 나와요. 영구 제한은 기간 없이 $restrictUser 만 쓰세요.
봇 권한 필요
봇에 채팅 운영자 권한이 필요해요.
검(매니저 배지)을 달고 있는 사용자에게는 작동하지 않아요.
기능 변수
기능 변수는 특정 기능을 작동시키는 변수예요. 자세한 내용은 각 기능 페이지를 참고해보세요!
출석 체크
$attendance출석 체크 완전판. 출석 처리 + 횟수 + 연속일을 출력해요.
!추가 !출석 $attendance마지막남은뚜또: !출석마지막남은뚜또님, 이 채널의 42번째 출석입니다! (연속 7일)명령어에 $nick이나 $name이 없으면 자동으로 닉네임을 포함해요. $att_combo가 없고 연속 출석이 2일 이상이면 자동으로 연속 일수를 포함해요.
$attendance 응답 형식
- 출석 성공:
닉네임님, 이 채널의 42번째 출석입니다! (연속 7일) - 이미 출석:
닉네임님은 이미 출석하셨습니다! (42회 출석) - 방송 꺼짐:
방송중이 아닙니다. 방송중에만 출석체크가 가능합니다!
$att_add출석 횟수를 1 올리고 횟수(숫자만)를 출력해요.
!추가 !출석 $nick님 $att_add번째 출석!마지막남은뚜또: !출석마지막남은뚜또님 42번째 출석!방송 중에만 가능
방송 중이 아니면 [방송이 꺼져있습니다.]가 출력돼요.
$att_silent출석 처리만 하고 아무것도 출력하지 않아요. 다른 텍스트와 조합할 때 유용해요.
!추가 !출석 $att_silent 출석 완료~마지막남은뚜또: !출석출석 완료~$att_count현재 출석 횟수(숫자만)를 출력해요. 출석 처리는 하지 않아요!
!추가 !출석횟수 $nick님의 출석 횟수: $att_count회마지막남은뚜또: !출석횟수마지막남은뚜또님의 출석 횟수: 42회$att_count는 횟수를 올리지 않아요
$att_count는 횟수를 조회만 해요. 출석 처리를 하려면 $att_add나 $attendance를 사용하세요.
$att_combo연속 출석 수(숫자만)를 출력해요.
!추가 !연속 $nick님 연속 $att_combo일째 출석 중!마지막남은뚜또: !연속마지막남은뚜또님 연속 7일째 출석 중!달력상 연속일이 아니에요. 직전 방송에 출석했거나 최근 이틀 안에 출석했으면 이어져요. 하루 걸러 출석해도 유지돼요.
$att_last마지막 출석 날짜(YYYY-MM-DD)를 출력해요.
!추가 !마지막출석 마지막 출석: $att_last마지막남은뚜또: !마지막출석마지막 출석: 2026-01-30$att_time마지막 출석 날짜와 시간(YYYY-MM-DD HH:MM:SS)을 출력해요.
!추가 !출석시간 마지막 출석: $att_time마지막남은뚜또: !출석시간마지막 출석: 2026-01-30 14:23:45$att_check오늘 출석 가능 여부를 출력해요. (True/False)
!추가 !출석가능 오늘 출석 가능: $att_check마지막남은뚜또: !출석가능오늘 출석 가능: True$att_count_month이번 달 출석 횟수(숫자만)를 출력해요.
!추가 !이번달 이번 달 출석: $att_count_month 회마지막남은뚜또: !이번달이번 달 출석: 15 회변수 뒤에 글자를 바로 붙이지 마세요. $att_count_month회 처럼 붙이면 $att_count 가 먼저 걸려 값이 깨질 수 있어요.
$att_count_month:NN개월 전 출석 횟수(숫자만)를 출력해요. N 은 1~12 만 돼요.
!추가 !지난달 지난달 출석: $att_count_month:1 회마지막남은뚜또: !지난달지난달 출석: 28 회$att_count_period:시작~끝특정 기간 동안의 출석 횟수(숫자만)를 출력해요.
!추가 !2024출석 2024년 출석: $att_count_period:2024-01-01~2024-12-31 회마지막남은뚜또: !2024출석2024년 출석: 156 회출석 변수 에러 응답
$att_count_month:N서식이 잘못되면[오류, 월 서식이 잘못되었습니다.]가 출력돼요.$att_count_period에~가 없거나 조각이 2개가 아니면[오류, 기간 서식이 잘못되었습니다.]~는 있는데 날짜 형식이 틀리면[오류, 시작 날짜 파싱 실패]또는[오류, 종료 날짜 파싱 실패]- 날짜 형식은 반드시
YYYY-MM-DD로 입력해주세요!
신청곡
$song-requests신청곡 기능을 활성화해요. 시청자가 노래를 신청할 수 있어요.
!추가 !노래신청 $song-requests마지막남은뚜또: !노래신청 Ditto신청이 완료되었습니다: Ditto$song-requests-nolimit노래를 신청해요. 유저제한·길이제한·전체갯수제한·중복제한을 모두 무시해요.
!추가 !구독자신청 $song-requests-nolimit마지막남은뚜또: !구독자신청 Ditto신청이 완료되었습니다: Ditto유저제한만 푸는 게 아니에요. 구독자에게 열어줄 때 긴 영상·중복 신청도 막히지 않는다는 점을 감안하세요.
구독자·매니저 전용 신청 명령어 만들기
!설정 신청곡 유저제한 2 로 일반 신청은 2곡까지 막아두고,
$song-requests-nolimit 으로 만든 명령어는 대시보드에서 필요 권한을 '구독자' 로 지정하세요.
구독자도 제한 없이 신청할 수 있는 구조가 돼요. (매니저 이상은 원래부터 신청곡 제한을 받지 않아요.)
$song-requests-priority:N대기열 앞쪽에 끼워 넣어 신청해요. 숫자가 클수록 먼저 재생돼요.
!추가 !우선신청 $song-requests-priority:100마지막남은뚜또: !우선신청 Ditto신청이 완료되었습니다: Ditto같은 숫자끼리는 신청한 순서대로 뒤에 붙어요. 등급을 나눈다면 위쪽 등급에 큰 수를 주세요.
우선순위 숫자 범위
1 이상 200000000 이하만 돼요. 벗어나면 오류: 올바른 우선순위 숫자를 입력해주세요. 가 나와요.
$karaoke-requests노래방(가라오케) 신청을 받아요.
!추가 !노래방 $karaoke-requests마지막남은뚜또: !노래방 밤편지신청이 완료되었습니다: 밤편지신청곡(유튜브 재생)과 노래방은 대기열이 서로 달라요. 대시보드에서도 각각 관리해요.
$song-current현재 재생 중인 곡 제목(제목만)을 출력해요.
!추가 !지금곡 🎵 지금 재생 중: $song-current마지막남은뚜또: !지금곡🎵 지금 재생 중: Ditto조회 계열이라 방송 중에만 동작해요. 방송이 꺼져 있으면 방송중이 아닙니다. 조회는 방송 중에만 가능합니다. 가 나와요.
재생 중인 곡이 없으면 재생중인 노래가 없습니다.가 출력돼요.
$song-next다음에 재생될 곡 제목(제목만)을 출력해요.
!추가 !다음곡 ⏭️ 다음 곡: $song-next마지막남은뚜또: !다음곡⏭️ 다음 곡: Supernova조회 계열이라 방송 중에만 동작해요. 방송이 꺼져 있으면 방송중이 아닙니다. 조회는 방송 중에만 가능합니다. 가 나와요.
다음 곡이 없으면 다음곡이 없습니다.가 출력돼요.
$song-count재생 중인 곡을 포함한 남은 곡 수를 출력해요. 값에 개 가 붙어 나와요.
!추가 !대기열 📋 대기 중인 곡: $song-count마지막남은뚜또: !대기열📋 대기 중인 곡: 5개숫자만 나오는 게 아니에요. 한 칸 띄어 $song-count 개 라고 쓰면 5개 개 가 돼요. 조회 계열이라 방송 중에만 동작하고, 방송이 꺼져 있으면 방송중이 아닙니다. 조회는 방송 중에만 가능합니다. 가 나와요.
$song-link현재 재생 중인 곡의 유튜브 링크를 출력해요.
!추가 !곡링크 🔗 $song-link마지막남은뚜또: !곡링크🔗 https://youtu.be/pSUydWEqKwE조회 계열이라 방송 중에만 동작해요. 방송이 꺼져 있으면 방송중이 아닙니다. 조회는 방송 중에만 가능합니다. 가 나와요.
$song-time현재 곡의 길이(MM:SS 또는 HH:MM:SS)를 출력해요.
!추가 !곡길이 곡 길이: $song-time마지막남은뚜또: !곡길이곡 길이: 03:28조회 계열이라 방송 중에만 동작해요. 방송이 꺼져 있으면 방송중이 아닙니다. 조회는 방송 중에만 가능합니다. 가 나와요.
$song-total-time재생 중인 곡을 포함한 전체 신청곡의 길이 합계(MM:SS 또는 HH:MM:SS)를 출력해요. 재생 중인 곡도 원곡 전체 길이로 더해지니 남은 시간과는 달라요.
!추가 !총길이 전체 대기 시간: $song-total-time마지막남은뚜또: !총길이전체 대기 시간: 18:45조회 계열이라 방송 중에만 동작해요. 방송이 꺼져 있으면 방송중이 아닙니다. 조회는 방송 중에만 가능합니다. 가 나와요.
$song-skip현재 재생 중인 곡을 스킵해요.
!추가 !스킵 $song-skip마지막남은뚜또: !스킵'Ditto' 노래를 스킵했습니다.권한은 직접 걸어야 해요
$song-skip 변수 자체에는 권한 제한이 없어요. 명령어를 시청자 등급으로 만들어두면 아무나 스킵할 수 있어요.
대시보드에서 해당 명령어의 필요 권한을 매니저로 지정하세요.
방송 중에만 동작하며, 꺼져 있으면 방송중이 아닙니다. 스킵은 방송 중에만 가능합니다. 가 나와요.
$song-remaining-limit-per-user내가 추가로 신청할 수 있는 곡 수(숫자만)를 출력해요.
!추가 !내신청 남은 신청 가능 횟수: $song-remaining-limit-per-user 회마지막남은뚜또: !내신청남은 신청 가능 횟수: 2 회유저제한을 설정하지 않았거나 무제한(-1)이면 곡 수 대신 -1 이 나와요.
$song-remaining-limit-total전체 대기열에 추가 가능한 곡 수를 출력해요.
!추가 !신청가능 전체 신청 가능: $song-remaining-limit-total 곡마지막남은뚜또: !신청가능전체 신청 가능: 15 곡전체갯수제한을 설정하지 않았거나 무제한(-1)이면 곡 수 대신 -1 이 나와요.
가위바위보
$rock-paper-scissors가위바위보를 진행해요. 명령어 뒤에 가위/바위/보를 입력해야 해요.
!추가 !가위바위보 $rock-paper-scissors마지막남은뚜또: !가위바위보 가위(마지막남은뚜또) [가위] VS [보] - 승리 | 1W 0D 0L | 연속 1번 승리$rock-paper-scissors:가위사용자의 선택을 가위로 고정해요. 봇은 여전히 랜덤이에요. 빠른 입력에 유용해요!
!추가 !가위 $rock-paper-scissors:가위마지막남은뚜또: !가위(마지막남은뚜또) [가위] VS [바위] - 패배 | 0W 0D 1L | 연속 0번 승리빠른 가위바위보
$rock-paper-scissors:가위를 사용하면 !가위바위보 가위 대신 !가위만 입력해서 빠르게 게임할 수 있어요!
$rock-paper-scissors:바위사용자의 선택을 바위로 고정해요. 봇은 여전히 랜덤이에요.
!추가 !바위 $rock-paper-scissors:바위마지막남은뚜또: !바위(마지막남은뚜또) [바위] VS [바위] - 무승부 | 0W 1D 0L | 연속 0번 승리$rock-paper-scissors:보사용자의 선택을 보로 고정해요. 봇은 여전히 랜덤이에요.
!추가 !보 $rock-paper-scissors:보마지막남은뚜또: !보(마지막남은뚜또) [보] VS [가위] - 패배 | 0W 0D 1L | 연속 0번 승리$rps-winrate가위바위보 승률(퍼센트만)을 출력해요.
!추가 !승률 $nick님의 가위바위보 승률: $rps-winrate마지막남은뚜또: !승률마지막남은뚜또님의 가위바위보 승률: 47.00%방송 중에만 가능
가위바위보는 방송 중에만 할 수 있어요.
방송 중이 아니면 방송중이 아닙니다.가 출력돼요.
기본값은 하루 1판이에요
설정을 바꾸지 않으면 시청자 한 명이 하루에 한 판만 할 수 있어요.
!설정 가위바위보 하루판수 -1 로 무제한으로 바꿀 수 있어요.
영상 후원 대기열
시청자가 보낸 영상 후원이 얼마나 밀려 있는지 알려주는 변수예요.
$videoQueueCount대기 중인 영상 후원 개수를 출력해요.
!추가 !영상대기 대기 중인 영상: $videoQueueCount개마지막남은뚜또: !영상대기대기 중인 영상: 3개$videoQueueRemainingTime대기열이 전부 끝날 때까지 남은 시간을 사람이 읽기 좋게 출력해요.
!추가 !영상대기시간 전부 끝나기까지 $videoQueueRemainingTime 남았어요마지막남은뚜또: !영상대기시간전부 끝나기까지 12분 30초 남았어요$videoRemainingTime지금 재생 중인 영상 후원의 남은 시간을 출력해요.
!추가 !지금영상 이 영상 $videoRemainingTime 남음마지막남은뚜또: !지금영상이 영상 42초 남음초 단위 숫자만 필요하다면
$videoQueueRemainingSec · $videoRemainingSec 를 쓰면 750 처럼 숫자만 나와요.
계산이나 조건 분기에 쓰기 좋아요.
봇 권한 필요
영상 후원 정보를 읽으려면 봇에게 채널 관리자 권한이 있어야 해요.
권한이 없으면 [오류, 봇 권한 필요] 가 출력돼요.
권한 부여 방법 →
!영상대기 같은 명령어를 만들어두면 시청자가 직접 순번을 확인할 수 있어요.
시청자 참여
$viewer_participation시청자 참여 기능을 활성화해요. 시청자가 참여하고, 추첨을 진행할 수 있어요.
!추가 !참여 $viewer_participation마지막남은뚜또: !참여 참여마지막남은뚜또님의 참여가 완료되었습니다. 현재 참여자 수: 5명사용 방법:
!참여 참여- 참여 등록!참여 취소- 참여 취소!참여 추첨 N- N명 추첨 (매니저 이상)
방송 중에만 가능
시청자 참여는 방송 중에만 할 수 있어요.
방송 중이 아니면 방송중이 아닙니다.가 출력돼요.
룰렛
$roulette:룰렛ID대시보드에서 만든 룰렛을 실행해요.
!추가 !룰렛 $roulette:3f9a1c2e-5b7d-4e10-9a3c-2f8b6d4e1a70마지막남은뚜또: !룰렛(룰렛 결과에 따라 다름)룰렛ID 는 직접 정하는 이름이 아니라 자동 발급되는 UUID 예요. 대시보드 룰렛 목록에서 각 카드 오른쪽 아래 작은 글씨의 괄호 안 값을 복사해 쓰세요.
옵션:
$roulette:룰렛ID|횟수 형태로 여러 번 돌릴 수 있어요.
!추가 !10연차 $roulette:3f9a1c2e-5b7d-4e10-9a3c-2f8b6d4e1a70|10
커스텀 스크립트
$custom_script:스크립트ID대시보드에서 작성한 커스텀 스크립트를 실행해요.
!추가 !스크립트 $custom_script:3f9a1c2e-5b7d-4e10-9a3c-2f8b6d4e1a70마지막남은뚜또: !스크립트(스크립트 결과에 따라 다름)스크립트ID 는 직접 정하는 이름이 아니라 자동 발급되는 UUID 예요. 대시보드 커스텀 스크립트 목록의 '스크립트 UUID' 열 값을 복사해 쓰세요.
커스텀 스크립트는 대시보드에서 Python 3.9 로 작성해요. 언어는 만들 때 한 번 고르면 바꿀 수 없고(바꾸려면 삭제 후 다시 생성), 실행 제한은 메모리 128M · 1초예요.
게임 연동
게임 계정을 연동하면 티어와 닉네임을 조회할 수 있어요.
지원 게임 (아래 이름만 인식해요. 다른 이름을 쓰면 [잘못된 게임이 입력되었습니다.] 가 나와요):
롤- 리그 오브 레전드TFT/tft- 전략적 팀 전투발로란트/발로/발로란트한국/발로란트한섭/발로한국/발로한섭- 발로란트 (한국)발로란트아시아/발로란트아섭/발로아시아/발로아섭- 발로란트 (아시아)오버워치/오버워치2/옵치- 오버워치 2배그/배틀그라운드- 배틀그라운드이터널리턴/이리- 이터널 리턴
$game_tier:롤리그 오브 레전드 티어 정보를 출력해요. 솔랭/자랭 옵션 가능.
!추가 !롤티어 $game_tier:롤마지막남은뚜또: !롤티어개인/2인 랭크 | 다이아몬드 IV 45 LP | 120 승 | 100 패 (승률: 54.55%)큐 이름은 입력한 별칭(솔랭)이 아니라 개인/2인 랭크 · 자유 랭크 로 표시돼요. 큐를 지정하지 않으면 조회된 랭크가 쉼표로 이어져 여러 개 나와요.
큐 타입 필터
$game_tier:롤|솔랭 또는 $game_tier:롤|자랭으로 특정 큐만 조회할 수 있어요.
$game_tier:tft전략적 팀 전투(TFT) 티어 정보를 출력해요.
!추가 !tft티어 $game_tier:tft마지막남은뚜또: !tft티어TFT 랭크 | 다이아몬드 IV 45 LP | 120 승 | 100 패 (승률: 54.55%)$game_tier:발로란트발로란트 티어 정보를 출력해요. 최근 5경기 경쟁전 기준.
!추가 !발로티어 $game_tier:발로란트마지막남은뚜또: !발로티어[한국 서버] | 다이아 2 (60.0% | KDA 1.50:1 | ADR 156) 승패승승패$game_tier:오버워치오버워치 2 티어 정보를 출력해요.
!추가 !오버워치티어 $game_tier:오버워치마지막남은뚜또: !오버워치티어탱커: 골드 | 딜러: 플래티넘 | 힐러: 다이아몬드$game_tier:배그배틀그라운드 티어 정보를 출력해요.
!추가 !배그티어 $game_tier:배그마지막남은뚜또: !배그티어경쟁전: 플래티넘(3500점) | 경쟁전 솔로: 골드(2800점)$game_tier:이터널리턴이터널 리턴 티어 정보를 출력해요.
!추가 !이터널티어 $game_tier:이터널리턴마지막남은뚜또: !이터널티어다이아몬드 1 (MMR 6200) | 우승 횟수 50번 | 평균 킬 3.50 | 평균 어시 2.30 | 평균 사냥 4.20순위(324위)는 이터니티·데미갓·미스릴 티어에서만 붙어요.
$game_nick:롤연동된 게임 계정의 닉네임을 출력해요.
!추가 !롤닉 $game_nick:롤마지막남은뚜또: !롤닉Hide on bush#KR1롤 · TFT · 오버워치2 · 배그 · 이터널리턴은 채팅창에서 !설정 게임연동 [게임명] [닉네임] 으로 연동해요.
발로란트만 대시보드에서 연동해요. 게임 전적 문서 →
게임 연동 에러 응답
- 연동된 계정이 없으면
[연결된 계정이 없습니다.]가 출력돼요. - 잘못된 게임 이름을 입력하면
[잘못된 게임이 입력되었습니다.]가 출력돼요. - 데이터가 없을 때 나오는 문구는 게임마다 달라요.
- 롤 · TFT —
[데이터가 없습니다. 배치중에는 표시되지 않습니다.] - 배그 —
[데이터가 없습니다.] - 발로란트 —
[오류: 랭크 정보를 불러올 수 없습니다.] - 오버워치 —
탱커: 없음 | 딜러: 없음 | 힐러: 없음
- 롤 · TFT —
스포티파이 연동
스포티파이를 연동하면 현재 재생 중인 음악 정보를 조회하고 제어할 수 있어요.
$spotify-name현재 재생 중인 노래 제목을 출력해요.
!추가 !지금노래 🎵 $spotify-name마지막남은뚜또: !지금노래🎵 Ditto재생 중인 곡이 없으면 재생중인 노래가 없습니다.가 출력돼요.
$spotify-artists현재 재생 중인 노래 아티스트를 출력해요.
!추가 !아티스트 🎤 $spotify-artists마지막남은뚜또: !아티스트🎤 NewJeans$spotify-link현재 재생 중인 노래의 스포티파이 링크를 출력해요.
!추가 !노래링크 $spotify-link마지막남은뚜또: !노래링크https://open.spotify.com/track/...$spotify-song-requests스포티파이에 노래를 신청해요. 검색어로만 신청할 수 있어요.
!추가 !스포신청 $spotify-song-requests마지막남은뚜또: !스포신청 Ditto신청이 완료되었습니다: Ditto유튜브 신청곡과 달리 링크로는 신청할 수 없어요. 곡 제목이나 아티스트로 검색해주세요.
스포티파이 신청곡 제어
!스포신청 열기/!스포신청 닫기- 신청곡 열기/닫기 (매니저 이상)!스포신청 재생/!스포신청 정지- 재생/일시정지 (매니저 이상)
$spotify-skip현재 재생 중인 노래를 스킵해요.
!추가 !스포스킵 $spotify-skip마지막남은뚜또: !스포스킵노래 스킵 신호를 전송하였습니다.변수 자체에는 권한 제한이 없어요. 대시보드에서 명령어 필요 권한을 매니저로 지정하세요.
스포티파이 연동은 대시보드에서 설정할 수 있어요. 프리미엄 계정은 필요 없지만, 연동 전에 지원 디스코드로 스포티파이 계정 이메일을 알려주셔야 해요. 스포티파이 정책상 테스트 인원으로 등록해야 연동이 열립니다.
방송 중에만 가능
스포티파이 관련 변수는 방송 중에만 동작해요. 방송이 꺼져 있으면 변수마다 다른 문구가 나와요.
| 변수 | 방송이 꺼져 있을 때 |
|---|---|
$spotify-name · $spotify-artists · $spotify-link | 방송중이 아닙니다. 조회는 방송 중에만 가능합니다. |
$spotify-song-requests | 방송중이 아닙니다. 신청은 방송 중에만 가능합니다. |
$spotify-skip | 방송중이 아닙니다. 수정은 방송 중에만 가능합니다. |
다음 단계
변수를 익혔다면, 출석 체크 등 다른 기능도 살펴보세요.