>웹 프론트엔드 >JS 튜토리얼 >내 Discord.js 봇을 v13에서 v14로 마이그레이션하는 방법은 무엇입니까?

내 Discord.js 봇을 v13에서 v14로 마이그레이션하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-06 03:15:14989검색

How to Migrate My Discord.js Bot from v13 to v14?

Discord.js v14: 주요 변경 사항 및 마이그레이션 가이드

소개

Discord.js v13에서 v14로 업그레이드하면 수많은 주요 변경 사항이 도입됩니다. 그 중 기존 코드에 큰 영향을 미칠 수 있습니다. 이 문서에서는 주요 변경 사항을 안내하고 마이그레이션 중에 발생하는 오류를 해결하기 위한 솔루션을 제공합니다.

주요 변경 사항

1. 메시지 및 상호작용 이벤트

  • 메시지 및 상호작용 이벤트가 제거되었습니다.
  • 대신 messageCreate 및 상호작용Create 이벤트를 사용하세요.

2. 인텐트

  • GatewayIntentBits 열거형을 사용하도록 인텐트가 업데이트되었습니다.
  • 문자열 또는 숫자 인텐트를 해당 GatewayIntentBits 플래그로 바꾸세요.

3. 상호작용

  • 상호작용 유형 가드(예: isCommand, isMessageComponent)가 제거되었습니다.
  • 대신 InteractionType 열거형에 대한 비교를 사용하세요.

4. 채널

  • 채널 유형 가드(예: isDM, isText)가 제거되었습니다.
  • channel.type을 일치하는 ChannelType 열거형과 비교하세요.

5. Builders and Embeds

  • MessageEmbed는 EmbedBuilder로 이름이 변경되었습니다.
  • MessageAttachment는 이름 대신 AttachmentData 개체를 두 번째 매개변수로 사용합니다.
  • MessageComponents에는 이름이 변경되었으며 Builder 접미사가 있는 Builder가 필요합니다(예: ButtonBuilder, ActionRowBuilder).

6. 열거형

  • 이제 모든 열거형 매개변수는 숫자만 허용합니다.

7. 활동 유형

  • setPresence 활동 유형은 "PLAYING"으로만 설정할 수 있습니다.

8. 메시지 콘텐츠

  • message.content가 비어 있으면 GatewayIntentBits.MessageContent를 인텐트 배열에 추가하세요.

마이그레이션 가이드

주요 변경 사항은 다음을 고려하십시오. 단계:

  • 노드 버전 업데이트: 노드 16.9 이상으로 업그레이드하세요.
  • 업데이트 의도:

    // v13
    client.on('GUILDS', 'GUILD_MESSAGES', 'GUILD_MESSAGE_REACTIONS');
    // v14
    client.on(GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMessageReactions);
  • 리팩터링 상호 작용 보호:

    // v13
    if (interaction.isCommand()) {}
    // v14
    if (interaction.type === InteractionType.ApplicationCommand) {}
  • 업데이트 유형 가드 채널:

    // v13
    if (message.channel.isText()) {}
    // v14
    if (channel.type === ChannelType.GuildText) {}
  • 임베드 및 빌더 이름 바꾸기:

    // v13
    const embed = new MessageEmbed();
    const button = new MessageButton();
    // v14
    const embed = new EmbedBuilder();
    const button = new ButtonBuilder();
  • 사용 숫자 기반 상수:

    // v13
    new ButtonBuilder().setStyle('PRIMARY');
    // v14
    new ButtonBuilder().setStyle(ButtonStyle.Primary);

이러한 지침을 따르면 코드를 Discord.js v14로 성공적으로 마이그레이션하고 잠재적인 오류나 중단을 방지할 수 있습니다. 변경 사항에 대한 포괄적인 개요는 https://discordjs.guide/additional-info/changes-in-v14.html의 Discord.js 가이드를 참조하세요.

위 내용은 내 Discord.js 봇을 v13에서 v14로 마이그레이션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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