Discord 봇 만들기
Discord 봇을 만들고 연결한 뒤 ForwardMsg에서 설정해 메시지를 읽거나 보낼 위치를 선택합니다.
Discord에서 메시지를 복사할 때 본인 계정을 사용할 수 있습니다. 원래 서버에 봇을 초대할 필요가 없습니다. 서버를 소유하거나 관리자가 될 필요도 없습니다. 복사할 채널에 계정 접근 권한만 있으면 됩니다. 이 방법이 필요하다면 Discord 계정 연결부터 시작하세요.
Discord 봇은 텍스트와 이미지, 동영상, 파일 같은 지원 미디어를 Discord 서버로 전달할 수 있습니다. Discord 소스의 Discord 임베드도 전달할 수 있습니다. 전달 옵션에서 메시지 유형을 선택하세요. 대상 서버의 업로드 제한은 계속 적용됩니다. 본인 계정 대신 봇이 원본 메시지를 읽도록 사용할 수도 있습니다.
- 계정으로 읽고 봇으로 전달하나요? 봇을 복사본을 받을 서버에만 초대하세요.
- 봇으로 읽기도 하나요? 봇을 원래 서버에도 초대하고 복사할 채널에 접근 권한을 부여하세요.
코드를 작성하거나 봇을 직접 호스팅할 필요가 없습니다. ForwardMsg가 봇을 실행합니다.
Discord에서 봇 만들기
- Discord Developer Portal을 엽니다.
- New Application을 선택합니다.
Community Forwarder처럼 알아보기 쉬운 이름을 입력합니다.- Create를 선택합니다.
- 애플리케이션 왼쪽 메뉴에서 Bot을 엽니다.
Discord에서는 봇 설정을 애플리케이션이라고 부릅니다. Bot 페이지에서 봇 이름, 사진, 로그인 토큰을 관리합니다.
봇 토큰 복사
봇 토큰은 봇의 비밀번호입니다. 개인 Discord 계정 토큰과는 다릅니다.
- Bot 페이지에서 Token을 찾습니다.
- Reset Token을 선택해 복사할 토큰을 생성합니다.
- Discord의 확인 절차를 완료합니다.
- 토큰을 복사하고 비공개로 보관합니다.
간편한 방법: ForwardMsg로 봇 자동 설정
아래의 수동 설정을 건너뛸 수 있습니다. 토큰을 Discord 봇 추가에 붙여넣고 추가를 선택한 다음 계속 → 초대 → 완료 단계를 진행하세요. ForwardMsg가 지원되는 인텐트와 기본 서버 설치 설정을 자동으로 구성합니다. 대화상자에서 바로 봇을 초대할 수 있습니다. 메시지 전송을 위해 연결하거나 봇으로 읽으려면 메시지 읽기를 위해 연결을 따르세요. 나중에 설정을 확인하려면 Developer Portal을 새로고침합니다. 봇에는 여전히 수신 채널 접근 권한이 필요합니다.
토큰을 초기화하거나 취소하면 기존 연결이 끊깁니다
ForwardMsg에 저장된 토큰을 초기화하면 기존 연결로는 로그인할 수 없습니다. 새 토큰으로 Discord 봇 추가를 다시 진행하세요. 봇이 메시지를 읽는다면 소스에서 새 연결을 선택하고, 복사본을 보내는 경우 영향을 받는 모든 라우팅 대상에서 기존 봇을 교체하세요. 변경 사항을 저장하고 해당 자동화를 재시작합니다. 기존 연결의 이름을 편집해도 토큰은 업데이트되지 않습니다.
다음 두 섹션에서는 봇을 초대하기 전에 설정을 직접 확인하거나 변경하는 위치를 안내합니다.
메시지 텍스트 읽기 허용
Discord에서는 이 스위치를 인텐트라고 부릅니다. ForwardMsg에서 아래 두 인텐트를 모두 켜세요. 봇이 복사본만 보내거나 메시지를 읽거나 두 작업을 모두 하더라도 권장 설정입니다. 인텐트는 채널을 보거나 게시할 수 있는 권한과 별개입니다.
- Developer Portal에서 Bot을 엽니다.
- Privileged Gateway Intents를 찾습니다.
- Server Members Intent와 Message Content Intent를 켭니다.
- Discord에서 저장 버튼을 표시하면 변경 사항을 저장합니다.
| 인텐트 | 동작 | 선택할 항목 |
|---|---|---|
| Message Content Intent | 봇이 메시지 텍스트와 내용을 받을 수 있게 합니다. | 봇이 메시지를 읽거나 복사본을 보내거나 둘 다 수행할 때 ForwardMsg 설정에서 켭니다. |
| Server Members Intent | 봇이 서버 회원 정보를 받을 수 있게 합니다. | 봇이 메시지를 읽거나 복사본을 보내거나 둘 다 수행할 때 ForwardMsg 설정에서 켭니다. |
필요한 권한 선택
아래는 봇을 초대할 때 기본으로 요청되는 권한입니다. 초대 링크를 사용하기 전에 설정하거나 검토하세요.
- Developer Portal에서 Installation을 엽니다.
- Installation Contexts에서 Guild Install을 켭니다. Guild는 Discord에서 서버를 부르는 말입니다.
- Default Install Settings에서 Guild Install 설정을 찾습니다.
- 서버에 봇을 추가할 수 있도록 bot 범위를 포함합니다. ForwardMsg의 메시지 전달에는 슬래시 명령어를 사용하지 않으므로 명령어를 설정할 필요가 없습니다.
- 아래 권한을 검토합니다. ForwardMsg의 기본 초대에서는 이 권한 전체를 요청합니다.
- Developer Portal에서 저장을 요청하면 저장합니다.
기본 초대에 포함되는 권한
봇이 선택한 전달 기능을 사용할 수 있도록 기본 권한을 그대로 선택하세요. 일부 권한은 선택형 기능에만 필요하므로 해당 기능을 켜지 않아도 선택된 상태로 둘 수 있습니다.
| 권한 | 봇이 할 수 있는 작업 |
|---|---|
| View Channels / View Channel | 읽거나 게시할 채널을 볼 수 있습니다. |
| Send Messages | 수신 채널에 복사된 텍스트를 게시합니다. |
| Read Message History | 답장 맥락에 사용할 이전 메시지 등을 가져옵니다. |
| Attach Files | 이미지, 동영상 및 다른 파일을 업로드합니다. |
| Embed Links | 임베드 카드와 링크 미리보기를 보냅니다. |
| Manage Messages | 다른 사용자의 메시지를 삭제합니다. 기본 메시지 관리 권한에 포함됩니다. |
| Pin Messages | 미러 작업이 활성화되어 있으면 메시지를 고정하고 고정 해제합니다. |
선택형 동작 권한
이 권한도 기본 초대에 포함됩니다. 관련 기능을 사용할 때만 필요합니다.
| 권한 | 봇이 할 수 있는 작업 |
|---|---|
| Manage Webhooks | 웹훅 활성화가 원래 작성자의 이름과 아바타를 사용할 때 채널 웹훅을 만들고 관리합니다. |
| Send Messages in Threads | 접근할 수 있는 스레드 안에 복사본을 전달합니다. |
| Add Reactions | 반응 미러링을 활성화하면 이모지 반응을 추가합니다. |
| Mention Everyone | 메시지 서식에서 사용할 때 @everyone, @here 같은 멘션을 보냅니다. |
| Use External Emojis | 다른 서버의 사용자 지정 이모지를 사용합니다. |
| Use External Stickers | 다른 서버의 스티커를 사용합니다. |
| Send Voice Messages | Discord 음성 메시지를 보냅니다. |
| Bypass Slowmode | 채널의 슬로우 모드 대기 없이 게시합니다. |
봇에 Administrator 권한을 부여할 필요는 없습니다. 설치한 뒤 실제 서버와 채널 권한을 확인하세요. Discord의 권한 안내에서 각 제어 항목을 설명합니다.
봇이 이미 서버에 있는 경우 Developer Portal에서 기본값을 변경해도 기존 서버 접근 권한이 업데이트되지는 않습니다. Discord에서 Server Settings → Roles를 열고 봇 역할을 선택해 Permissions를 검토하세요. 채널 하나의 권한은 Edit Channel → Permissions를 열고 봇 역할이나 개별 항목을 확인합니다. 서버 역할에서 허용해도 범주나 채널 규칙이 접근을 거부할 수 있습니다.
서버에 봇 설치
메시지를 전달하려면 복사본을 받을 서버에 봇을 추가하세요. 본인 계정으로 원본 메시지를 읽는다면 원래 서버에는 봇을 추가할 필요가 없습니다. 봇이 해당 채널을 직접 읽을 때만 원래 서버에 추가하세요.
ForwardMsg에서 Discord 봇 추가를 진행하는 동안 대상 서버에 추가를 사용해 초대 링크를 여세요. 복사본을 받을 서버를 선택합니다. 봇이 메시지를 읽도록 설정하는 경우에는 원래 서버를 선택하세요. Discord에서 권한을 승인하고 ForwardMsg로 돌아와 완료를 선택합니다. 이미 올바른 서버에 있다면 다시 초대하지 않고 완료를 선택할 수 있습니다.
Developer Portal에서도 초대할 수 있습니다.
- Developer Portal에서 Installation을 엽니다.
- Install Link에서 Discord Provided Link를 선택합니다.
- 링크를 복사하고 Discord에 로그인한 브라우저에서 엽니다.
- Add to server를 선택하고 대상 서버를 고릅니다.
- Authorize를 선택하고 Discord 확인 절차를 완료합니다.
- 해당 서버의 회원 목록에 봇이 표시되는지 확인합니다.
서버 소유자이거나 관리자이거나 Manage Server 권한이 있어야 봇을 초대할 수 있습니다. 그렇지 않다면 서버 관리자에게 대신 초대해 달라고 요청하세요. 본인 계정으로 메시지를 복사하는 경우 원래 서버에서 이 권한이 필요하지 않습니다.
Discord의 설치 가이드에서 Developer Portal 레이아웃이 바뀌었을 때 제어 항목을 확인하세요.
메시지 읽기를 위해 봇 연결
- 메시지를 읽는 연결로 Discord 봇을 사용하는 자동화를 열고 소스에서 추가 Discord 봇을 선택합니다.
- 봇 토큰을 붙여넣고 추가를 선택합니다.
- ForwardMsg에 표시되는 봇 이름을 유지하거나 변경한 다음 계속을 선택합니다.
- 아직 봇이 서버에 없다면 대상 서버에 추가를 사용해 메시지를 읽을 서버에 초대합니다. Discord에서 권한을 승인합니다.
- ForwardMsg로 돌아와 완료를 선택합니다.
- 소스에서 봇이 선택되어 있는지 확인합니다.
- 설정 업데이트를 선택합니다.
- 시작을 선택하고 실행 중이 될 때까지 기다립니다.
- 봇이 읽을 서버와 채널을 추가합니다.
소스는 원본 메시지가 오는 곳입니다. 모니터링할 채널만 선택하세요.
메시지 전송을 위해 봇 연결
봇이 이미 저장되어 있다면 토큰을 다시 붙여넣지 말고 선택한 뒤 수신 채널 선택을 계속 진행하세요.
- 편집기 왼쪽 목록에서 소스 채팅/채널을 클릭해 설정을 엽니다.
- 라우팅을 엽니다.
- 대상 추가를 선택합니다.
- 봇이 저장되지 않았다면 추가 Discord 봇을 선택합니다.
- 봇 토큰을 붙여넣고 추가를 선택합니다.
- ForwardMsg에 표시되는 봇 이름을 유지하거나 변경한 다음 계속을 선택합니다.
- 필요한 경우 대상 서버에 추가를 사용해 수신 서버에 초대합니다. Discord에서 권한을 승인합니다.
- ForwardMsg로 돌아와 완료를 선택합니다.
- 봇과 복사본을 받을 채널을 선택합니다.
- 대상 대화상자를 완료합니다.
- 변경 사항 저장을 선택합니다.
대상은 복사본이 도착하는 곳입니다. 봇이 각 채널에 접근할 수 있으면 여러 채널로 전달할 수 있습니다.
전달 경로에서 같은 봇을 재사용하세요. 다른 라우팅 대상이나 자동화에서도 저장된 봇을 선택하면 됩니다. 채팅이나 경로마다 봇을 새로 만들 필요가 없습니다. 각 수신 서버에 봇을 초대하고 관련 채널에 접근 권한을 부여하세요.
자동화를 통해 새 텍스트 메시지를 보내 결과를 확인하세요. 채널 하나만 실패하면 해당 채널에서 봇의 권한을 확인합니다.
ForwardMsg의 자동 설정 확인
Discord 봇 추가로 토큰을 저장하면 ForwardMsg가 메시지 읽기 및 전달에 사용할 수 있도록 지원되는 인텐트, Guild Install, 기본 설치 설정을 구성합니다.
- Developer Portal로 돌아가 페이지를 새로고침합니다.
- Bot → Privileged Gateway Intents를 열어 Message Content와 Server Members를 확인합니다.
- Installation을 열어 Guild Install과 기본 권한을 확인합니다.
- 아직 봇을 초대하지 않았다면 봇을 초대한 다음 ForwardMsg에서 수신 채널을 선택합니다.
각 Developer Portal 항목을 수동으로 변경하지 않아도 이 간편 설정을 사용할 수 있습니다. 설정이 업데이트되지 않았다면 위의 수동 단계를 따르세요.
개발자 포털의 기본 설정과 서버 접근 권한은 별개입니다
자동 구성은 봇 애플리케이션 설정을 준비합니다. 서버에 봇을 초대하거나 인증 역할을 부여하거나 채널 제한을 덮어쓰지는 않습니다. 메시지를 읽거나 보낼 실제 서버에서도 봇에 접근 권한을 부여해야 합니다.
봇은 연결되지만 메시지를 보내지 못함
연결 상태는 ForwardMsg가 봇으로 로그인할 수 있다는 뜻입니다. 모든 수신 채널에서 봇의 게시를 허용했다는 뜻은 아닙니다.
- 서버와 채널 확인: 봇이 수신 서버에 있어야 하며 해당 채널에서 View Channel과 Send Messages 권한이 필요합니다. 스레드에는 Send Messages in Threads도 필요합니다.
- 인증 또는 게이트키퍼 봇 확인: 일부 서버에서는
Verified또는Member같은 역할이 있어야 채널을 볼 수 있습니다. 새로 초대한 봇이 역할을 자동으로 받지 못할 수 있습니다. 관리자에게 봇에 역할을 지정하거나 수신 채널에서 명시적으로 허용해 달라고 요청하세요. 예를 들어Verified회원만#news에 게시할 수 있다면 봇에도 같은 접근 권한이 필요합니다. - 콘텐츠 유형 확인: 파일 업로드에는 Attach Files, 임베드에는 Embed Links를 허용합니다. 웹훅 활성화를 사용하려면 Manage Webhooks도 허용합니다.
- 토큰 확인: 토큰을 초기화하거나 취소했다면 새 토큰으로 봇을 다시 추가하고 기존 저장 연결이 사용되는 곳마다 교체합니다.
접근 권한을 해결한 뒤 라우팅에서 변경 사항 저장을 선택하고 필요하면 자동화를 재시작한 다음 소스 채팅에서 새 메시지를 보내 대상에 도착하는지 확인하세요. 비공개 테스트 채팅을 사용할 수 있습니다.
다른 점검 방법은 전달 및 권한 문제를 참조하세요.
작성자 이름, 답장, 고정
일반 봇 메시지에는 봇의 이름과 프로필 사진이 표시됩니다. 예를 들어 Maya의 복사된 메시지도 봇인 Community Forwarder가 작성한 게시물로 표시됩니다. 메시지 서식에 Maya의 이름을 텍스트로 포함할 수는 있습니다.
Discord 게시물에 Maya의 이름과 아바타를 표시하려면 웹훅 전달을 사용하세요. 복사본마다 같은 봇 프로필을 표시하는 대신 원래 작성자 정보를 사용할 수 있습니다.
연결된 봇이 이를 자동 처리하도록 설정할 수 있습니다.
- 수신 채널에서 봇에 Manage Webhooks 권한을 부여합니다.
- ForwardMsg에서 왼쪽 목록의 소스 채팅을 클릭해 설정을 열거나, 상속되는 모든 위치에 적용하려면 전역 설정을 클릭합니다.
- 고급 → 작성자 이름과 아바타 사진으로 보내기를 엽니다.
- 웹훅 활성화를 켭니다.
- 변경 사항 저장을 선택한 다음 자동화를 통해 새 메시지를 보내 Discord에 이름과 사진이 표시되는지 확인합니다.
이제 봇이 전달을 위해 웹훅을 만들고 관리합니다. 이 옵션을 사용하면 각 수신 채널마다 웹훅을 직접 만들 필요가 없습니다.
| 전달 방식 | Discord 게시물에 표시되는 이름과 사진 | 연결된 답장 및 고정/고정 해제 미러링 |
|---|---|---|
| Discord 봇, 웹훅 활성화 끔 | 봇의 프로필 | 관련 권한과 미러 설정이 있으면 사용할 수 있습니다. |
| 웹훅, 웹훅 활성화 켬 | 원래 작성자의 이름과 아바타 | 사용할 수 없습니다. Discord 웹훅은 연결된 답장을 만들거나 메시지를 고정/고정 해제할 수 없습니다. |
답장이나 고정 작업이 필요하면 웹훅 활성화를 끄세요. 미러 작업과 고급 설정을 참조하세요.
토큰 비공개로 유지
봇 토큰을 비밀번호처럼 취급하세요
채팅, 이메일, 티켓, 스크린샷 또는 공유 코드에 봇 토큰을 보내지 마세요. 노출된 경우 Discord에서 초기화한 다음 ForwardMsg에 새 토큰으로 봇을 다시 추가하세요. 기존 연결을 사용하는 모든 곳에서 교체하고 저장한 뒤 영향을 받는 자동화를 재시작합니다.