Kord/Docs/Troubleshooting/50013_Missing_Permissions.md

21 lines
1.6 KiB
Markdown

# 50013 Missing Permissions (Voice Channel Creation)
## 체인지로그 (Changelog)
- **2026-03-27**: 문서 최초 작성
## 본문 (Body)
### 현상 (Symptom)
`/voice-setup`으로 등록한 채널에 유저가 입장하여 `VoiceService.handleJoin()`이 실행될 때, 아래와 같은 에러가 발생하며 임시 음성 채널이 생성되지 않음.
`DiscordAPIError[50013]: Missing Permissions`
### 원인 (Cause)
Discord API에서는 봇이 특정 채널을 생성하면서 `permissionOverwrites`를 통해 타인에게 권한(예: `ManageRoles`, `Connect`, `ViewChannel`)을 부여하려면, **봇 본인(Bot Member)**도 해당 권한을 반드시 가지고 있어야 합니다.
사용자가 봇을 초대할 때 '연결(Connect)'이나 '역할 관리(ManageRoles)' 등의 기본/관리 권한을 누락한 채 초대하였거나, 생성용 음성 채널이 위치한 카테고리가 봇의 권한을 덮어써서 발생합니다.
### 해결 (Solution)
1. **코드 레벨 방어 (Fallback Mechanism)**
권한 덮어쓰기(`permissionOverwrites`)가 실패할 경우 예외를 캐치(Catch)하여, **순정 채널(오버라이드 없는 상태)**로라도 채널이 무사히 생성되도록 로직 분기점(`VoiceService.ts` 내)을 구축했습니다.
2. **권한 안내 (User Guidance)**
인게임 채널 관리(이름 변경, 킥, 한도 제한 등)는 봇이 채팅창에 제공하는 **컨트롤 패널(인터랙션 드롭다운 UI)**을 통해 봇이 대리로 수행하므로, 방장이 굳이 디스코드 순정 채널 내 관리 오버라이드 권한을 직접 받지 않아도 기능 이용에 지장이 없도록 유연하게 재설계 되었습니다.