개발 & 데이터베이스/파이썬

디스코드 봇 실행 오류

K.두부 2024. 2. 27. 23:48
반응형

 

 

디스코드 봇 개발 초기 단계에서 발생하는 에러 중 하나는 아래와 같다.

bot = commands.Bot(command_prefix=':')
TypeError: BotBase.__init__() missing 1 required keyword-only argument: 'intents'

 

 

intents 가 필요하다는 뜻으로 아래와 같이 작성해주면 쉽게 해결할 수 있다.

intents = discord.Intents.all()
bot = commands.Bot(command_prefix='.',intents=intents)

 

 

쉽게 에러가 해결되면 코딩이 아니지.

아래처럼 새로운 에러가 발생.

Traceback (most recent call last):
  File "C:/Users/USER/Desktop/디스코드 봇/MyBot.py", line 14, in <module>
    bot.run('MTA1Njk0MTQ4OTQxMTg3MDc4MQ.GU0psb.JU16jYhMxBEvxET5WTgkg68d0e_N-2XYFqE_f0')
  File "C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 828, in run
    asyncio.run(runner())
  File "C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 649, in run_until_complete
    return future.result()
  File "C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 817, in runner
    await self.start(token, reconnect=reconnect)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 746, in start
    await self.connect(reconnect=reconnect)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python310\lib\site-packages\discord\client.py", line 672, in connect
    raise PrivilegedIntentsRequired(exc.shard_id) from None
discord.errors.PrivilegedIntentsRequired: Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.

 

대충 뭐가 필요하다는 것 같은데, 에러 메시지에서 보여준 주소에서 활성화하라는 뜻.

주소를 타고 들어가서 Discord Developer Portal → Bot 메뉴에서 좀 내려오면 Privileged Gateway Intents를 발견할 수 있다.

 

 

위 3개를 다 활성화 시켜준 후에 토큰 재발급 받은 후에 코드를 실행하면 완료.

 

반응형