"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Discord.js v11에서 v12로 마이그레이션: 일반적인 문제는 무엇이며 어떻게 해결할 수 있습니까?

Discord.js v11에서 v12로 마이그레이션: 일반적인 문제는 무엇이며 어떻게 해결할 수 있습니까?

2024년 11월 26일에 게시됨
검색:221

Discord.js v11 to v12 Migration: What are the Common Issues and How Can I Solve Them?

Discord.js v11에서 v12로 마이그레이션: 일반적인 문제 해결

Discord.js v12로 업그레이드할 때 다음으로 인해 오류가 발생할 수 있습니다. 파괴적인 변화. 다음은 몇 가지 일반적인 문제와 해결 방법입니다.

관리자

  • client.users.get 및 Guild#roles.find가 client.users로 대체되었습니다. 캐시.get 및 guild.roles.cache.find.
  • 다음과 같은 메소드 message.member.addRole, Guild#createChannel 및 TextBasedChannel#fetchMessages가 해당 관리자로 이동되었습니다. 예:

    await message.member.roles.add(role);
    await message.guild.channels.create('welcome');
    const messages = await message.channel.messages.fetch();

Collection

  • Collection 클래스는 이제 .find 및 .findKey에 대한 함수입니다. 속성 키와 값 대신 람다 표현식을 사용하세요. 예:
    collection.find(item => item.property === 'value');
    collection.find(item => item.property === 'value');
  • .exists, .deleteAll, .filterArray, .findAll이 제거되었습니다. . 대신 대체 방법을 사용하거나 약속을 기다리십시오.

RichEmbed/MessageEmbed

  • RichEmbed는 수신 및 전송 모두에 사용되는 MessageEmbed로 대체되었습니다. embeds.
  • addBlankField 메소드가 제거되었습니다. 빈 필드를 추가하려면 다음을 사용하세요. ]
    collection.find(item => item.property === 'value');
  • 모든 VoiceConnection/VoiceBroadcast#play*** 메소드가 통합되었습니다. 단일 플레이 방식으로. 예를 들면 다음과 같습니다.

const dispatcher = Connection.play('./music.mp3');

Client#createVoiceBroadcast가 ClientVoiceManager로 이동되었습니다.
  • StreamDispatcher 스트림을 확장합니다.쓰기 가능합니다. Dispatcher.end() 대신 Dispatcher.destroy()를 사용하세요. 종료를 위해 종료 이벤트가 제거되었습니다.

    collection.find(item => item.property === 'value');
    이미지 URL
  • User#displayAvatarURL 및 Guild#iconURL이 이제 메소드입니다. . 사용자 정의를 위해 ImageURLOptions 개체를 전달해야 합니다.

const 아바타 = user.displayAvatarURL(); const icon = message.guild.iconURL();

  • 추가 정보

    const avatar = user.displayAvatarURL();
    const icon = mesage.guild.iconURL();
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3