맞춤 명령어
맞춤 명령어는 서버 멤버가 자주 묻는 질문이나 운영 흐름을 Discord 명령어로 꺼내 쓰게 만드는 기능이에요. 간단한 안내 문구를 보내는 명령어부터, 다른 SOLE 모듈 기능을 순서대로 연결하는 플로우 명령어까지 만들 수 있어요.
사용자는 /custom-command run으로 저장된 명령어를 실행해요. 운영자는 패널에서 만들고 관리하거나, Discord에서 /custom-command add, edit, enable, delete, list를 사용할 수 있어요.
무엇을 만들 수 있나요?
| 유형 | 설명 |
|---|---|
| 텍스트 명령어 | 정해 둔 응답 메시지를 그대로 보내요 |
| 변수 응답 | 실행한 사용자, 서버, 채널, 명령어 이름을 응답에 넣어요 |
| 비공개 응답 | 실행한 사람에게만 보이는 응답으로 운영 안내를 줄 수 있어요 |
| 역할 제한 | 특정 역할을 가진 멤버만 실행하게 제한해요 |
| 쿨다운 | 같은 사용자가 너무 자주 실행하지 못하게 대기 시간을 둬요 |
| 플로우 명령어 | 음악 상태, 생일, 경제, Riot, Minecraft, 자동화 이벤트 같은 SOLE 기능을 블록으로 연결해요 |
처음 만드는 순서
- 패널에서 맞춤 명령어 페이지를 열어요.
- 새로 만들기를 눌러 명령어 이름을 정해요.
- 바로 사용 가능 여부를 정해요.
- Text 또는 Flow 모드를 선택해요.
- 텍스트 모드라면 응답 메시지와 변수를 넣어요.
- 플로우 모드라면 블록을 추가하고 실행 순서를 확인해요.
- 필요하면 쿨다운과 역할 제한을 걸어요.
- Discord 미리보기와 Safe preview를 확인해요.
- 명령어를 생성한 뒤 Discord에서 /custom-command run name:명령어이름으로 실행해요.
이름 규칙과 제한
명령어 이름은 영문 소문자, 숫자, 하이픈, 밑줄만 사용할 수 있어요. 최대 32자까지 쓸 수 있고, 공백은 하이픈으로 바뀌어요.
서버당 맞춤 명령어는 최대 100개예요. 응답 문구는 1,800자 안에서 작성해야 해요. 플로우는 최대 10개 블록까지 연결할 수 있고, 저장되는 플로우 데이터는 16KB 안에 들어가야 해요.
응답 변수
텍스트 모드에서는 변수를 눌러 응답 안에 넣을 수 있어요.
| 변수 | 바뀌는 값 |
|---|---|
| {user} | 명령어를 실행한 사용자의 표시 이름 |
| {user.mention} | 명령어를 실행한 사용자의 멘션 |
| {server} | 현재 Discord 서버 이름 |
| {channel} | 명령어가 실행된 채널 |
| {command} | 실행된 맞춤 명령어 이름 |
예를 들어 “안녕하세요 {user.mention}! 여기는 {server}예요.”처럼 쓰면 서버와 사용자에 맞춰 응답이 바뀌어요.
Text 모드
Text 모드는 가장 단순한 방식이에요. 멤버가 명령어를 실행하면 저장해 둔 응답 메시지를 보내요.
서버 규칙, 링크 모음, 신청 안내, 이벤트 안내처럼 반복해서 답해야 하는 내용은 Text 모드가 좋아요. 비공개 응답을 켜면 실행한 사람에게만 보이기 때문에 개인 안내나 운영자용 확인 명령어에도 쓸 수 있어요.
Flow 모드
Flow 모드는 맞춤 명령어를 작은 자동화처럼 쓰는 방식이에요. 블록을 순서대로 붙여서 다른 SOLE 기능을 호출하고, 마지막에 Discord 응답을 만들어요.
현재 패널에는 빠른 시작 템플릿도 있어요. Minecraft 서버 상태, 음악 재생 상태, 오늘 생일, 출석 보상, Riot 프로필, Riot 최근 경기, 자동화 이벤트 전달 같은 흐름을 빠르게 만들 수 있어요.
플로우 안에서 Discord 응답을 만드는 블록은 하나만 쓰는 기준이에요. 여러 응답을 한 명령어에 무리하게 넣기보다, 조회 블록과 응답 블록을 명확히 나누는 편이 안정적이에요.
Safe preview
Safe preview는 저장 전 검증과 미리보기를 도와줘요. 메시지, 조회, 템플릿처럼 안전하게 미리 볼 수 있는 블록은 결과를 확인할 수 있고, 실제 서버 상태를 바꿀 수 있는 블록은 검증 중심으로 다뤄요.
미리보기가 통과해도 실제 실행에는 Discord 권한, 연결된 모듈 활성 상태, 외부 API 상태가 영향을 줄 수 있어요. 특히 Riot, Minecraft, 음악 상태 같은 조회는 해당 모듈이 켜져 있어야 해요.
권한과 쿨다운
명령어 생성, 수정, 삭제는 서버 관리 권한이 필요해요. 실행 자체는 기본적으로 멤버가 사용할 수 있지만, 필요한 역할 ID를 넣으면 특정 역할만 실행할 수 있어요.
쿨다운은 같은 사용자가 빠르게 반복 실행하는 것을 막아요. 0이면 제한이 없고, 최대 86400초까지 설정할 수 있어요. 공개 채널에서 외부 조회나 보상 지급을 연결한 명령어는 쿨다운을 걸어 두는 편이 좋아요.
Discord에서 쓰는 명령어
| 명령어 | 용도 |
|---|---|
| /custom-command run | 저장된 맞춤 명령어를 실행해요 |
| /custom-command list | 등록된 명령어 목록을 봐요 |
| /custom-command add | 새 텍스트 명령어를 추가해요 |
| /custom-command edit | 기존 명령어 응답과 상태를 수정해요 |
| /custom-command enable | 명령어를 켜거나 꺼요 |
| /custom-command delete | 명령어를 삭제해요 |
패널에서 만든 플로우 명령어도 실행은 같은 방식으로 해요. 멤버에게는 /custom-command run name:명령어이름 형태로 안내하면 돼요.
과장하면 안 되는 것
- 맞춤 명령어는 Discord의 독립 슬래시 명령어를 무제한 생성하는 기능이 아니에요. 실행 진입점은 /custom-command run이에요.
- Flow 모드는 지원되는 SOLE capability 블록 안에서만 동작해요. 임의 코드를 실행하는 기능이 아니에요.
- 외부 조회나 다른 모듈 호출은 해당 모듈의 활성 상태, 권한, API 상태에 영향을 받아요.
- Safe preview가 실제 운영 환경의 모든 권한 문제를 보장하지는 않아요.
- 역할 제한은 역할 ID 기준으로 적용돼요. 역할 이름만 적는 방식으로 이해하면 안 돼요.
캡처 기준
| 캡처 | 보여 줄 내용 |
|---|---|
| 명령어 작업대 | 등록된 명령어 수, 활성 명령어, 실행 수, 마지막 변경 |
| 명령어 목록 | ON/OFF, FLOW 배지, 쿨다운, 역할 제한, 실행 횟수 |
| 새 명령어 만들기 | 이름, 바로 사용 가능, Text/Flow 모드 선택 |
| 변수 삽입 | {user}, {user.mention}, {server}, {channel}, {command} 버튼 |
| Flow 편집 | 빠른 시작, 블록 라이브러리, 실행 순서 |
| Safe preview | 검증 결과, 메시지 미리보기, skipped step 안내 |
| Discord 실행 | /custom-command run name:명령어이름 실행 결과 |