DPaletteDiscord 봇 빌더
봇 만들기 →
DPalette 시작하기

첫 봇을 함께 만들어 봐요.

새 멤버를 맞이하는 인사부터 시작하세요. 완성된 예시를 내 서버에 맞게 바꾸고, 테스트한 뒤 게시하는 과정을 안내합니다. AI에게 부탁하거나 직접 조립하는 방법도 여기서 알아보세요.

기본 조작 체험 · 약 3분로그인이나 Bot 설치가 필요 없습니다. 새 탭에서 열립니다. 편집 중인 Bot은 바뀌지 않습니다.
환영 봇 만드는 방법 보기 ↓봇 만들기
01

예시로 환영 봇 만들기

새 멤버가 참가하면 선택한 채널에 인사를 보냅니다. 단계는 이미 연결되어 있으니 전송 대상과 메시지만 내 서버에 맞게 바꿔 보세요.

새 멤버 참가환영 메시지 전송전송 없이 테스트게시하고 활성화
  1. 1

    서버를 고르고 예시 열기

    Discord로 로그인하고 상단에서 서버를 고릅니다. DPalette가 없다면 봇 설치로 연결하세요. 예시를 열고 환영 예시를 불러옵니다.

  2. 2

    전송할 채널 선택

    예시 설정 화면의 목록에서 인사를 보낼 채널을 고릅니다. 채널 ID를 찾아 입력할 필요는 없습니다.

  3. 3

    인사말 바꾸기

    메시지 보내기를 선택하고 오른쪽 설정 패널에서 본문을 바꿉니다. 값 삽입에서 참가한 멤버의 멘션을 선택할 수 있습니다.

  4. 4

    먼저 시험하고 서버에서 사용

    검증으로 설정을 확인하고 테스트 실행으로 전송 예정 내용을 살펴봅니다. 괜찮다면 초안을 저장한 뒤 게시하고 활성화를 누르세요.

02

말로 설명하고, AI에게 초안을 부탁하세요

방송이 시작되면 알림 채널에 글을 올려 달라는 식으로 원하는 일을 설명하세요. AI가 DPalette의 기능을 조합해 제안하므로, 내용을 확인한 뒤 사용하세요.

원하는 동작 설명

언제, 어디서, 무엇을 해야 하는지 적습니다. 예를 들어 새 멤버에게 인사하고 멤버 역할을 달아 달라고 요청할 수 있습니다.

필요한 설정 채우기

채널, 역할 또는 멤버가 필요하면 ID를 직접 복사하지 않고 Discord 서버 후보에서 선택합니다.

검토 후 적용

AI가 보충한 조건과 주의 사항을 확인한 뒤 편집 영역에 적용합니다. 모든 단계는 수정할 수 있습니다. 전송 대상과 권한을 확인하고 게시 전에 테스트하세요.

AI가 임의로 봇을 게시하거나 실행하지 않습니다

제안 적용은 아직 저장하지 않은 편집 내용만 바꿉니다. 저장, 테스트, 게시, 실제 실행은 자동으로 하지 않습니다. 저장된 API 키(Secrets)나 데이터베이스 기록을 AI용으로 읽거나 전송하지도 않습니다.

03

직접 조립하고 싶다면

예시 없이 같은 환영 기능을 만드는 7단계입니다. 언제 시작할지 정하고, 봇이 해야 할 일을 순서대로 연결하세요.

  1. 1

    Discord로 로그인

    로그인 후 편집할 Discord 서버를 선택합니다. DPalette가 없다면 봇 설치를 누르세요. 새로 만든 서버는 서버 새로고침 후에 나타납니다.

  2. 2

    시작 조건 추가

    왼쪽 단계 목록에서 멤버 참가를 편집 영역으로 끕니다. 이 이벤트가 봇 동작을 시작합니다.

  3. 3

    작업 추가

    메시지 보내기를 추가합니다. 새 멤버가 참가한 다음에 실행할 작업입니다.

  4. 4

    실행 순서 연결

    멤버 참가의 next 포트에서 메시지 보내기의 입력 포트로 실선을 연결합니다.

  5. 5

    오른쪽에서 설정

    채널과 본문을 설정합니다. 값 삽입에서 새 멤버의 멘션을 선택할 수 있습니다.

  6. 6

    설정 확인과 테스트

    검증에 표시된 문제를 고친 뒤 테스트 실행(Dry Run)으로 예정된 동작을 확인합니다. Discord는 실제로 변경되지 않습니다.

  7. 7

    초안 저장 후 게시

    초안을 저장하고 검증이 통과하면 게시하고 활성화를 누릅니다. 게시한 내용으로 봇이 Discord 이벤트에 반응하기 시작합니다.

04

테스트 후 게시

편집 중인 초안과 서버에서 실행되는 버전은 별개입니다. 변경 내용을 게시하기 전까지 봇은 기존 동작을 유지합니다.

1. 설정 확인

검증에서 빠진 연결, 필수 설정, 필요한 권한 등을 확인합니다. 표시된 문제를 고친 뒤 다음으로 진행하세요.

2. 전송 없이 테스트

테스트 실행(Dry Run)은 Discord에 내용을 쓰지 않고 동작을 확인합니다. 어떤 단계를 거쳐 무엇을 보내려 했는지 볼 수 있습니다.

3. 게시하고 활성화

검토한 초안을 게시하면 서버에서 사용할 수 있습니다. 다음 변경을 편집하는 동안에는 마지막으로 게시한 내용이 계속 실행됩니다.

되돌릴 수 없는 작업에 주의하세요

삭제 작업은 위험 표시와 실행 제한을 확인하세요. 테스트 서버와 Dry Run에서 먼저 동작을 확인하는 것을 권장합니다.

05

선으로 순서와 데이터를 연결해요

실행 순서와 데이터 전달은 분리되어 있습니다. 이 둘을 구분하면 큰 워크플로도 쉽게 읽을 수 있습니다.

실선: 실행 순서(Flow)

다음에 실행할 노드를 정합니다. true와 false 같은 분기도 Flow입니다.

점선: 값 전달(Data)

메시지나 멤버 같은 값을 타입이 지정된 입력 포트로 전달합니다. 호환되는 타입만 연결됩니다.

join

노드 ID

값 참조의 첫 부분입니다. 이 가이드에서는 멤버 참가 노드의 ID를 join으로 사용합니다.

헷갈릴 때

먼저 Flow 실선으로 실행 순서를 완성한 다음 필요한 Data 점선을 추가하세요.

06

이전 노드의 값 사용

메시지, URL, 숫자, 목록, 선택 항목 등 대부분의 작업 필드에서 먼저 실행된 단계의 출력을 사용할 수 있습니다. 후보는 현재 워크플로에서 생성됩니다. 시작 조건 같은 고정 설정은 제외됩니다.

Welcome {{ join.member.mention }}!
+ 값 삽입 또는 {{ 입력
사용 가능한 값{{ join.member.mention }}멤버 참가 · join{{ join.member.display_name }}멤버 참가 · join
외울 필요가 없습니다

필드 옆의 작은 {} 버튼(값 삽입)을 누르거나 Ctrl+Space를 사용하세요. 텍스트 필드에서는 {{를 입력해도 됩니다. 후보를 고르면 {{ 노드ID.출력.속성 }} 형태로 삽입됩니다. 방향키, Enter, Esc로 조작할 수 있습니다.

경로 예시나타내는 값
join.member.mention참가한 멤버의 Discord 멘션
join.guild.member_count이 멤버가 참가한 뒤의 현재 서버 멤버 수(Bot 포함)
join.member.display_name참가한 멤버의 표시 이름
message.message.content수신한 메시지 본문
message.author.mention작성자의 Discord 멘션
manual.payload.target_user수동 작업에서 만든 target_user 입력
webhook.bodyIncoming Webhook 요청 본문
schedule.scheduled_atSchedule이 실행된 시각

join, message, manual 같은 접두사는 노드 ID입니다. 실제 후보에는 캔버스의 ID가 사용됩니다. 출력 원본 노드가 참조 노드보다 Flow에서 먼저 실행되어야 합니다.

07

API 키를 워크플로에 직접 쓰지 않고 사용

Secrets는 외부 API 키, 토큰 등의 자격 증명을 Discord 서버별로 저장하는 선택 기능입니다. YouTube 알림을 포함한 일반 프리셋에는 필요하지 않습니다.

1. 안전성 → Secrets에 저장

서버를 선택하고 안전성을 연 뒤 Secrets에 이름과 값을 저장합니다. api_key나 github_token처럼 용도를 알 수 있는 이름을 사용하세요.

2. 이름으로 참조

텍스트를 입력할 수 있는 노드 설정에서 {{ secret.이름 }}을 사용합니다. 이름이 api_key라면 {{ secret.api_key }}입니다.

3. 외부 API에 사용

외부 서비스 인증이 필요할 때 HTTP 요청의 헤더, 쿼리 매개변수, 본문에서 Secrets를 사용할 수 있습니다.

저장된 값은 숨겨집니다

저장 후 DPalette는 Secret 값을 다시 표시하지 않고 저장되는 실행 세부 정보에서도 가립니다. 값을 교체하려면 같은 이름으로 새 값을 저장하세요.

08

필요할 때 워크플로를 수동 실행

DPalette는 이벤트를 기다리는 자동화뿐 아니라 입력 폼에서 즉시 실행하는 Manual Action도 만들 수 있습니다. 같은 워크플로를 Discord 슬래시 명령어로 게시할 수도 있습니다.

수동 트리거게시Actions / /명령어실행 기록

1. Manual Action 만들기

수동 실행 트리거로 시작해 target_user나 개수 제한 같은 입력 항목을 정의하고 후속 작업을 연결합니다. 초안은 테스트 패널에서 시험하며, 실제 사용하려면 검증 후 게시합니다.

2. Actions에서 수동 실행

게시된 Manual Action은 Actions에 자동 생성된 입력 폼으로 표시됩니다. 먼저 Dry Run으로 효과를 확인한 뒤 비파괴 작업은 Run Now, 삭제 같은 파괴적 작업은 Review & Run으로 확인하여 실행합니다.

3. Discord 명령어로 만들기

트리거 설정에서 슬래시 명령어를 켜면 같은 입력을 가진 서버 전용 명령어가 동기화됩니다. 예: /purge-user target_user:@spammer. 게시 후 동기화되며 Actions에서 다시 동기화할 수도 있습니다.

어디에서 실행해도 같은 안전 체계를 사용합니다

Actions와 Discord 명령어는 같은 Workflow Executor, 실행 제한, 동시 실행 제어, 실행 기록을 공유합니다. Dry Run은 운영 할당량을 사용하지 않으며 게시된 버전만 실제로 실행됩니다.

09

문제가 있을 때

대부분의 문제는 연결, 실행 순서, Discord 권한과 관련됩니다.

값 후보가 표시되지 않음

캔버스에 출력이 있는 다른 노드가 있는지 확인하세요. 노드 자신의 출력은 해당 설정 후보에 포함되지 않습니다.

새로 만든 Discord 서버가 목록에 없음

서버 목록은 로그인 시점의 스냅샷입니다. 편집기의 서버 새로고침으로 Discord에서 다시 받은 뒤 새 서버를 선택하세요.

unknown property 또는 unknown root

직접 입력한 경로가 실제 노드 ID나 출력과 다릅니다. 값 삽입에서 다시 선택하세요.

후보 값이 실행 중 해석되지 않음

출력 원본 노드가 같은 Flow 분기에서 먼저 실행되는지 확인하세요.

Discord 권한 오류

검증의 필수 권한과 Gateway Intent, 봇 역할 순서, 채널 권한, Developer Portal 설정을 확인하세요.

지원 Discord 열기 (새 탭)

작은 인사부터 시작해 보세요.

예시 목록에서 환영 예시를 고르고, 내 서버에 어울리는 말로 바꿔 보세요.

예시 열기 →