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

내 Discord.py 2.0 명령이 작동하지 않는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-07 09:28:13
원래의
242명이 탐색했습니다.

Why Aren't My Discord.py 2.0 Commands Working?

Discord.py 2.0에서 명령 실행 실패를 해결하는 방법

Discord.py 버전 2.0에는 명시적인 사양을 요구하는 메커니즘인 인텐트가 도입되었습니다. 봇이 처리할 수 있는 이벤트. 이 변경으로 인해 기본적으로 봇이 모든 단일 이벤트를 수신하는 것이 방지되어 개인 정보 보호 및 성능이 크게 향상됩니다.

귀하의 경우 필요한 인텐트가 활성화되지 않았기 때문에 discord.py 2.0으로 마이그레이션한 후 봇이 명령을 실행하지 못합니다. . 이 문제를 해결하고 명령 기능을 복원하려면 다음 단계를 따르십시오.

1. Discord 개발자 포털에서 인텐트 활성화:

  • Discord 개발자 포털에 로그인합니다.
  • 봇 애플리케이션을 선택합니다.
  • "봇을 클릭합니다. " 섹션을 선택합니다.
  • "Privileged Gateway Intents"에서 "MESSAGE"를 활성화합니다. CONTENT' 인텐트.

2. Bot에 인텐트 추가:

  • discord.Intents 클래스를 가져오고 Intents 개체를 생성합니다.
  • 메시지 콘텐츠 처리를 활성화하려면 message_content 속성을 True로 설정합니다.
  • Bot 생성 시 Intents 객체를 인텐트 매개변수로 전달합니다. 인스턴스.
import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)
로그인 후 복사

3. 명령 선언 업데이트:

  • 명령 데코레이터에 name 매개 변수를 추가하여 명령 이름을 지정합니다.
  • aliases 매개 변수를 사용하여 별칭을 정의하는 것을 고려하세요.
@bot.command(name='test1', aliases=['t1'])
async def test1(ctx):
    print('test command')
로그인 후 복사

4. 봇 실행:

run 메서드를 사용하여 평소처럼 봇을 실행합니다.

이 향상된 인텐트 메커니즘은 봇이 사용자 개인 정보를 존중하도록 보장할 뿐만 아니라 전반적인 성능도 향상시킵니다. 인텐트를 명시적으로 지정함으로써 봇은 필요한 이벤트만 수신하여 리소스를 절약하고 대기 시간을 줄입니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿