변수

뚜봇 명령어에서 사용할 수 있는 변수를 안내해요.

빠른 시작 가이드

변수를 사용하면 명령어 응답에 동적인 정보를 넣을 수 있어요! 변수는 $변수명 형태로 사용하고, 실행 시 실제 값으로 바뀌어요.

권한 용어 안내

일부 변수는 에게 특정 권한이 부여되어 있어야 작동해요.

  • 채팅 운영자: 임시 차단, 채팅 횟수 조회 등 채팅 관리 기능
  • 채널 관리자: 팔로워 정보, 구독자 정보 조회 등 채널 관리 기능

권한 부여 방법은 권한 부여 방법을 참고해보세요.


대시보드에서 찾아보기

변수 목록은 이 문서뿐만 아니라 대시보드 시스템 변수 페이지에서도 볼 수 있어요.

대시보드 시스템 변수 목록 — 변수명과 설명

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

$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
입력
마지막남은뚜또: !멤버
출력
멤버: 마지막남은뚜또, 마지막남은뚜또, 후로기, 채링

사용 방법:

  1. 일반 시청자가 !멤버를 입력하면 저장된 내용이 출력돼요.
  2. 매니저 이상!멤버 새로운 내용을 입력하면 내용이 저장돼요.
  3. !멤버 삭제(또는 !멤버 제거)를 입력하면 내용이 지워져요.

!멤버 <내용> 처럼 명령어 뒤에 내용을 붙여 고치는 건 매니저 이상만 할 수 있어요. (제거삭제 만 예약어예요. 그 밖의 말은 전부 메모 내용으로 저장돼요.) 저장된 내용이 없으면 [내용 없음]이 출력돼요.

메모는 명령어마다 따로 저장돼요

!멤버 에 저장한 메모와 !공지 에 저장한 메모는 서로 다른 메모예요. 명령어 하나당 메모 하나라고 생각하시면 돼요.


개인 메모

$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아무 메시지도 없이 마커 저장만 건너뛰어요.

주사위 변수

$rolldice

TRPG 스타일로 주사위를 굴려요. (예: 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:11일
$restrictUser:77일
$restrictUser:3030일

사용 가능한 기간: 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:N

N개월 전 출석 횟수(숫자만)를 출력해요. 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 — [데이터가 없습니다. 배치중에는 표시되지 않습니다.]
    • 배그 — [데이터가 없습니다.]
    • 발로란트 — [오류: 랭크 정보를 불러올 수 없습니다.]
    • 오버워치 — 탱커: 없음 | 딜러: 없음 | 힐러: 없음

스포티파이 연동

스포티파이를 연동하면 현재 재생 중인 음악 정보를 조회하고 제어할 수 있어요.

$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방송중이 아닙니다. 수정은 방송 중에만 가능합니다.

다음 단계

변수를 익혔다면, 출석 체크 등 다른 기능도 살펴보세요.

출석 체크 →