Discord.js v11에서 v12로 마이그레이션
Discord.js v12로 업그레이드하면 v11의 기존 코드가 손상될 수 있습니다. 이 문서에서는 가장 일반적인 주요 변경 사항 중 일부를 강조하고 솔루션을 제공합니다.
관리자
Client#users 및 Guild#roles와 같이 이전에 캐시된 컬렉션은 이제 관리자입니다. 캐시된 컬렉션에 액세스하려면 캐시 속성을 사용하세요.
const user = client.users.cache.get('123456789012345678'); const role = message.guild.roles.cache.find(r => r.name === 'Admin');
GuildMember#addRole, Guild#createChannel 및 TextBasedChannel#fetchMessages와 같은 메서드가 해당 관리자로 이동되었습니다.
await message.member.roles.add(role); await message.guild.channels.create('welcome'); const messages = await message.channel.messages.fetch();
컬렉션
컬렉션 클래스는 이제 .find 및 .findKey에 대해 속성 키와 값이 아닌 함수만 허용합니다.
// v11: collection.find('property', 'value') collection.find(item => item.property === 'value');
Collection에 대한 추가 변경 사항에는 .exists, .deleteAll, .filterArray 및 .findAll.
RichEmbed/MessageEmbed
RichEmbed 클래스는 더 이상 사용되지 않습니다. 대신 MessageEmbed 클래스를 사용하세요.
const {MessageEmbed} = require('discord.js'); const embed = new MessageEmbed();
addBlankField 메서드도 제거되었습니다. 빈 필드를 추가하려면 다음을 사용하세요.
embed.addField('\u200B', '\u200B');
Voice
모든 VoiceConnection/VoiceBroadcast#play*** 메소드가 단일 재생 메소드로 통합되었습니다.
const dispatcher = connection.play('./music.mp3');
Client#createVoiceBroadcast가 다음으로 이동되었습니다. ClientVoiceManager:
const broadcast = client.voice.createVoiceBroadcast();
이미지 URL
User#displayAvatarURL 및 Guild#iconURL과 같은 속성은 이제 ImageURLOptions 개체를 사용하여 크기와 형식을 사용자 정의할 수 있는 메서드입니다.
const avatar = user.displayAvatarURL(); const icon = message.guild.iconURL();
추가 리소스
Discord.js v12에 도입된 주요 변경 사항에 대한 보다 포괄적인 개요를 보려면 업데이트 가이드, 변경 로그 및 문서를 참조하세요.
위 내용은 Discord.js v11에서 v12로 마이그레이션: 주요 변경 사항은 무엇이며 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!