디스코드 봇을 만들고도 서버에 못 넣는 경우가 자주 나옵니다.
봇 코드보다 초대 링크 생성 과정에서 막히는 쪽이 더 흔할 때도 있습니다.
특히 권한을 너무 적게 고르거나, 아예 잘못된 스코프를 선택해서 다시 초대하는 경우가 많습니다.
초대 링크는 한 번만 대충 만들고 끝내는 작업이 아닙니다.
기능이 늘어날수록 필요한 권한도 달라지기 때문에 구조를 이해해 둬야 합니다.
1. 초대 링크를 만드는 위치
브라우저에서 Discord Developer Portal에 접속합니다.
봇 애플리케이션을 선택한 뒤 왼쪽 메뉴에서 OAuth2 -> URL Generator로 이동합니다.
여기서 두 가지를 고릅니다.
- 어떤 스코프를 쓸지
- 어떤 권한을 봇에 줄지
2. 스코프는 보통 두 개를 본다
기본적으로 많이 쓰는 것은 아래 두 개입니다.
bot: 일반 봇 계정을 서버에 초대할 때 필요합니다.applications.commands: 슬래시 명령어를 사용할 때 필요합니다.
메시지 명령어만 쓰는 아주 기초적인 봇이라면 bot만으로도 시작할 수 있습니다.
슬래시 명령어를 바로 쓸 계획이라면 둘 다 체크하는 경우가 보통입니다.
3. 초반에 자주 쓰는 권한
아래 권한은 대부분의 기본 봇에서 자주 씁니다.
View Channels
Send Messages
Read Message History
Embed Links
Attach Files
Manage Messages
Use Slash Commands
Manage Roles
권한을 너무 적게 주면 서버에 들어온 뒤 기능이 바로 막힙니다.
반대로 너무 넓게 주면 관리가 불안해집니다.
현재 넣을 기능 기준으로만 줘야 합니다.
4. 기본 응답 봇과 관리 봇은 링크를 나눠 생각하면 편하다
!핑, !도움 정도만 쓰는 봇이라면 읽기와 전송 권한 위주면 충분합니다.
메시지 삭제, 역할 지급, 로그 기록까지 들어가면 Manage Messages, Manage Roles가 필요합니다.
처음에는 아래 정도로 생각하면 편합니다.
- 응답형 봇: View Channels, Send Messages, Read Message History, Embed Links
- 관리형 봇: 응답형 권한 + Manage Messages + Manage Roles + Use Slash Commands
5. 실제로 생성되는 링크 예시
초대 링크는 대략 이런 형태입니다.
https://discord.com/oauth2/authorize?client_id=애플리케이션_ID&scope=bot%20applications.commands&permissions=권한값
여기서 `client_id`는 애플리케이션 ID입니다.
`permissions`는 체크한 권한 조합에 따라 숫자로 자동 계산됩니다.
직접 숫자를 외울 필요는 없습니다.
6. 초대가 안 되거나 서버 목록이 안 뜰 때
보통 아래 경우가 많습니다.
- 해당 서버에서
서버 관리권한이 없는 계정으로 시도한 경우 - 잘못된 애플리케이션으로 링크를 만든 경우
- 브라우저에 다른 디스코드 계정이 로그인되어 있는 경우
초대 페이지에서 서버 선택 목록이 비어 있으면 계정 권한부터 확인해야 빠릅니다.
7. 초대 후에도 기능이 안 될 때
서버에 들어왔다고 끝난 것은 아닙니다.
권한이 충분하지 않거나 채널에서 막히면 기능은 여전히 안 돌아갑니다.
이럴 때는 아래를 같이 봅니다.
- 초대 링크에 필요한 권한이 포함되어 있었는가
- 봇 역할이 채널에서 차단되지 않았는가
- 봇 역할이 대상 역할보다 위에 있는가
초대는 성공했는데 역할 지급이 안 되면 대부분 세 번째 문제입니다.
8. 나중에 권한이 바뀌면 어떻게 하나
봇 기능을 늘리다가 새 권한이 필요해질 수 있습니다.
그럴 때는 초대 링크를 다시 만들어서 서버에 다시 넣거나 권한을 재승인하면 됩니다.
처음 링크를 너무 대충 만들면 안 되는 이유가 여기 있습니다.
9. 운영에서 안전한 습관
초대 링크는 아무 데나 뿌리면 안 됩니다.
테스트 봇과 운영 봇이 섞이면 엉뚱한 봇을 서버에 넣는 경우도 생깁니다.
애플리케이션 이름, 아이콘, 설명을 구분해 두면 실수를 줄이기 쉽습니다.
10. 다음 단계
기본 봇이 이미 있다면 초대 링크를 만들고 바로 서버에서 테스트해 보면 됩니다.
권한 구조를 아직 정리하지 않았다면 디스코드 봇 권한 설정법과 디스코드 역할 설정 완벽 가이드를 같이 보면서 맞춰야 안전합니다.
'봇 개발 팁 > Discord.py' 카테고리의 다른 글
| Message Content Intent 설정법, 디스코드 봇이 명령어를 읽지 못할 때 먼저 볼 것 (0) | 2026.03.23 |
|---|---|
| 파이썬 디스코드 봇 만들기 처음부터 끝까지, discord.py 입문 가이드 (0) | 2026.03.20 |
| 디스코드 AI 챗봇 만들기, 파이썬(discord.py)과 OpenAI 연결하기 (0) | 2026.03.19 |
| Discord.py Components V2 사용 가이드 (신형 임베드, 줄 나누기, 임베드 내에 버튼 등) (0) | 2025.12.06 |
| Discord.py로 디스코드 음악 봇 만들기: 디스호스트로 24시간 호스팅까지! (0) | 2025.06.04 |