«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Миграция Discord.js v11 на v12: каковы распространенные проблемы и как их решить?

Миграция Discord.js v11 на v12: каковы распространенные проблемы и как их решить?

Опубликовано 26 ноября 2024 г.
Просматривать:372

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. cache.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');
  • .exists, .deleteAll, .filterArray, .findAll были удалены . Вместо этого используйте альтернативные методы или ждите обещаний.

RichEmbed/MessageEmbed

  • RichEmbed заменен на MessageEmbed, который используется как для получения, так и для отправки встраивает.
  • Метод addBlankField был удаленный. Чтобы добавить пустое поле, используйте:

    embed.addField('\u200B', '\u200B');

Voice

  • Все методы VoiceConnection/VoiceBroadcast#play*** унифицированы под единый метод игры. Например:

    const dispatcher = connection.play('./music.mp3');
  • Client#createVoiceBroadcast был перемещен в ClientVoiceManager.
  • StreamDispatcher расширяет поток. Доступно для записи. Используйте диспетчер.destroy() вместо диспетчера.end(). Конечное событие было удалено в пользу завершения.

URL-адреса изображений

  • User#displayAvatarURL и Guild#iconURL теперь являются методами . Для настройки им требуется передать объект ImageURLOptions:

    const avatar = user.displayAvatarURL();
    const icon = mesage.guild.iconURL();

Дополнительная информация

Полное руководство по критическим изменениям v12 можно найти на официальном сайте обновление руководства и журнала изменений. Документация Discord.js может помочь вам найти конкретные методы и свойства.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3