>백엔드 개발 >파이썬 튜토리얼 >오류가 없는데도 Discord.py 2.0 봇 명령이 작동하지 않는 이유는 무엇입니까?

오류가 없는데도 Discord.py 2.0 봇 명령이 작동하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-21 05:43:11765검색

Why Aren't My Discord.py 2.0 Bot Commands Working, Despite No Errors?

Discord.py 2.0에서 명령이 실행되지 않음: 1.7.3에서는 오류가 없지만 발생합니다

Discord.py 1.7.3에서 2.0으로 전환하는 동안 다음과 같은 문제가 발생합니다. 도서관에 큰 변화가 생겼습니다. 주목할만한 차이점 중 하나는 봇이 어떤 유형의 이벤트를 수신해야 하는지 지정하는 방법인 인텐트의 도입입니다.

인텐트: 누락된 링크

Discord.py 2.0에서는 인텐트가 필요합니다. 봇에서 특정 기능을 활성화합니다. 기본적으로 메시지 콘텐츠는 기본 인텐트에 포함되지 않습니다. 결과적으로 봇이 성공적으로 실행되고 준비 중이라고 보고하더라도 필요한 권한이 부족하기 때문에 명령을 수신할 수 없습니다.

해결책: 메시지 콘텐츠 의도 활성화

해결책은 명시적으로 다음을 수행하는 것입니다. 봇에서 메시지 콘텐츠 의도를 활성화합니다. 이를 통해 명령을 포함한 메시지 콘텐츠를 읽고 응답할 수 있습니다.

사용 방법은 다음과 같습니다.

  1. Discord 개발자 포털: Discord 개발자 포털을 방문하여 애플리케이션을 선택하세요.
  2. Bot 섹션: "Bot" 섹션으로 이동합니다.
  3. 메시지 콘텐츠 의도 활성화: 권한 탭에서 "MESSAGE CONTENT INTENT" 섹션을 찾아 상자를 선택하여 활성화합니다. .
  4. 봇 코드 업데이트: 메시지 콘텐츠 의도가 활성화되면, 이를 포함하도록 봇의 코드를 업데이트해야 합니다.
import discord
from discord.ext import commands

# Create an instance of Intents (default intents are already included)
intents = discord.Intents.default()

# Add the Message Content Intent to the Intents list
intents.message_content = True

# Create your Discord Bot
bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)

이러한 변경 사항을 통해 이제 봇은 Discord.py 2.0에서 명령을 올바르게 수신하고 실행할 수 있습니다. 1.7.3에서 그랬습니다.

위 내용은 오류가 없는데도 Discord.py 2.0 봇 명령이 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.