#javascript #node.js #discord.js
#javascript #node.js #discord.js
Вопрос:
В настоящее время возникла проблема, из-за которой я получаю сообщение об ошибке «TypeError: не удается прочитать свойство ‘execute’ неопределенного». В настоящее время я работаю над изучением Javascript и скопировал фрагмент кода из тестового видео, и, похоже, даже его код не работает в моем компиляторе.
index.js
const fs = require('fs');
const Discord = require('discord.js');
const bot = new Discord.Client({ partials: ["MESSAGE", "CHANNEL", "REACTION" ]});
const { prefix, token } = require('./config.json');
bot.commands = new Discord.Collection();
//File Reading
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
bot.commands.set(command.name, command);
}
//Command Callbacks
bot.on('message', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ /);
const command = args.shift().toLowerCase();
if (command === 'queue') {
bot.commands.get('queue').execute(message, args, Discord, bot);
}
})
//Bot is Running
bot.once('ready', () => {
console.log('Good Noodle Bot is online!');
});
//Login
bot.login(token);
queue.js
module.exports = {
name: 'queue',
description: "Begins a Competitive Queue",
async execute(message, args, Discord, bot) {
const channel = '802325198191067146';
const silverRank = ':silver:803746337468186665';
const novaRank = ':nova:803746340009279538';
let embed = new Discord.MessageEmbed()
.setColor('#e42643')
.setTitle('Choose a rank to play with!')
.setDescription('Choosing a rank will begin a queue for that rank!nn'
`${silverRank} for Silvern`,
`${novaRank} for Nova`);
let messageEmbed = await message.channel.send(embed);
messageEmbed.react(silverRank);
messageEmbed.react(novaRank);
}
}
Ошибка:
TypeError: Cannot read property 'execute' of undefined
at Client.<anonymous> (E:Visual StudioDiscordindex.js:25:34)
at Client.emit (node:events:379:20)
at MessageCreateAction.handle (E:Visual StudioDiscordnode_modulesdiscord.jssrcclientactionsMessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (E:Visual StudioDiscordnode_modulesdiscord.jssrcclientwebsockethandlersMESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (E:Visual StudioDiscordnode_modulesdiscord.jssrcclientwebsocketWebSocketManager.js:384:31)
at WebSocketShard.onPacket (E:Visual StudioDiscordnode_modulesdiscord.jssrcclientwebsocketWebSocketShard.js:444:22)
at WebSocketShard.onMessage (E:Visual StudioDiscordnode_modulesdiscord.jssrcclientwebsocketWebSocketShard.js:301:10)
at WebSocket.onMessage (E:Visual StudioDiscordnode_moduleswslibevent-target.js:132:16)
at WebSocket.emit (node:events:379:20)
at Receiver.receiverOnMessage (E:Visual StudioDiscordnode_moduleswslibwebsocket.js:825:20)
Комментарии:
1. Распечатайте значение
commandFiles
переменной.
Ответ №1:
У меня по ошибке была команда в другой подпапке (commands/folder/command.js )