3 回答

TA貢獻1829條經(jīng)驗 獲得超7個贊
查看您的 pause.js 導(dǎo)出 -execute不是對象的屬性。嘗試這個:
module.exports = {
title: 'pause',
description: "Pause the current song.",
execute: function (message) {
const queue = message.client.queue.get(message.guild.id);
if(!queue) return message.reply("There is nothing playing").catch(console.error);
if(queue.playing){
queue.playing = false;
queue.connection.dispatcher.pause(true);
return queue.textChannel.send(`? Paused.`).catch(console.error);
}
}
};
創(chuàng)建一個名為的屬性execute并將其值分配給您擁有的功能。

TA貢獻1772條經(jīng)驗 獲得超8個贊
您正在使用以下代碼添加命令:
client.commands = new Discord.Collection();
const commandFIles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for(const file of commandFIles){
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
}
所以命令名稱是文件 export .name。在您的 expore 文件中,您沒有名稱屬性。相反,你寫了標(biāo)題。嘗試這個:
module.exports = {
name: 'pause',
description: "Pause the current song.",
execute(message){
const queue = message.client.queue.get(message.guild.id);
if(!queue) return message.reply("There is nothing playing").catch(console.error);
if(queue.playing){
queue.playing = false;
queue.connection.dispatcher.pause(true);
return queue.textChannel.send(`? Paused.`).catch(console.error);
}
}
};

TA貢獻1797條經(jīng)驗 獲得超4個贊
所以你設(shè)置命令按名稱執(zhí)行但在你的導(dǎo)出中沒有名稱,你在事件端的.get中調(diào)用它,這就是它返回未定義的原因,希望它有用
添加回答
舉報