#node.js #discord #discord.js
#node.js #Discord #discord.js
Вопрос:
Название говорит само за себя… У меня возникли проблемы с моей командой nickname, поскольку она изменяет псевдоним только на первое написанное слово… Код:
module.exports = {
name: "nickname",
aliases: [],
run: async (message, args, client) => {
const nickname = message.mentions.members.first()
const nick = args[1];
nickname.setNickname(nick)
}
}
Ответ №1:
Зависит от того, как args
создается после его передачи run
. Я предполагаю, что она разделяет командную строку на основе пробелов (например. если вы введете nickname The Person
, он разделит его на массив с 3 элементами ["nickname", "The", "Person"]
. Если у вас нет более важных аргументов для этой команды, вы можете просто снова объединить разделенные элементы в одну строку.
let nick = "";
args.map((value, index) => {
if (index !== 0) nick =value " ";
})
Или что-то в этом роде
Комментарии:
1. Использование
args.slice(1).join(' ')
намного проще, чем цикл сmap()
2. @NumberedBore7 Добро пожаловать! Кроме того, используйте альтернативу Lioness100, поскольку она более лаконична.