Error Solution
1. AttributeError가 발생하는 경우
더보기
- 디스코드 버전 업데이트 및 필요 모듈 설치
- CMD 관리자 권한 실행 → pip install -U git+https://github.com/Rapptz/discord.py
- pip install py-cord, discord-ui
- 아래 사이트에서 Bot → Intents 3개 모두 체크
2. Discord Module Error가 발생하는 경우
더보기
디스코드 모듈 설치
- 만약 Discord 관련 모듈에서 에러가 발생한다면
1. `pip install discord.py[voice]`
→ 음성 채널을 사용하는 봇에서 해당 모듈이 설치되어 있지 않을 경우 오류 발생
2. `pip install discord-ui, py-cord`
→ UI와 관련된 디스코드 모듈을 사용하는 경우 오류가 발생할 수 있음. 해당 모듈을 설치하여 해결
3. `pip install PyNaCl`
→ 해당 모듈을 설치하지 않으면 대부분의 Discord 코드가 실행되지 않을 수 있음.
3. **TypeError: init() missing 1 required ~오류가 발생하는 경우**
더보기
- 시작 클래스 생성 또는 intents 추가
TypeError: init() missing 1 required keyword-only argument: 'intents' →
- 초기화 과정에서 intents를 읽지 못해 발생하는 오류.
- 따라서 다음과 같이 클래스를 만들어 주거나 intents를 직접 추가해주면 된다.
# 잘못된 코드
bot = commands.Bot(command_prefix='!')
@bot.event
async def on_ready():
print('{} 봇 실행 ~')
''' 아래 코드와 같이 수정한다.'''
bot = commands.Bot(intents=discord.Intents.default(), command_prefix='!')
''' 또는 아래와 같이 수정 '''
class Bot(commands.Bot):
def __init__(self):
intents = discord.Intents.default()
intents.message_content = True
super().__init__(command_prefix = commands.when_mentioned_or('!'), intents=intents)
# on_ready는 시작할 때 한번만 실행.
async def on_ready(self):
print('Login...')
print(f'{client.user}에 로그인하였습니다.')
print(f'ID: {client.user.name}')
await client.change_presence(status=discord.Status.online, activity=discord.Game('VS Code로 개발'))
4. 음악 봇 관련 실행 시 ERROR:name 관련 오류가 발생하는 경우
-
더보기YTDL → yt_dlp 설치
- 유튜브 음악 재생 관련해서 내부적인 동작 코드가 수정된 것으로 확인됨.
- 기존 YTDL 소스와 유사하게 동작하는 yt_dlp를 설치하여 동작 확인
pip install yt_dlp
- 소스코드의 기존 import가 youtube_dl로 설정되어 있는 것을 yt_dlp로 수정
5. Token을 찾을 수 없다고 출력하는 경우
- 작성된 코드에서 Token은 파일을 따로 만들어 분리해두었기 때문에 찾을 수 없다고 뜨는 것이 정상.
- 파일 이름: dico_token.py(파일명은 사용자 마음대로 설정)
# dico_token.py
Token="토큰을 복사하여 이곳에 넣어주세요"
- 사용 시, 아래와 같이 사용한다.
# import 시, dico_token.py 파일이 작성하려는 소스코드와 같은 경로에 위치해야 한다.
from dico_token import Token
```
코드 작성
```
bot.run(Token)
반응형
'Discord > Discord Bot Python' 카테고리의 다른 글
Discord 봇 만들기 - Link and Search (0) | 2023.06.21 |
---|---|
Discord 봇 만들기 - Dropdown (0) | 2023.06.16 |
Discord Bot 만들기 - 유튜브 음악 재생 봇 (16) | 2023.05.18 |
Discord Bot 만들기 - 음성 채널 입장하기 (8) | 2023.05.16 |
Discord Bot 만들기 - 초기 설정하기 및 API, 명령어 리스트 (0) | 2023.05.11 |