«Ошибка типа: Не удается прочитать свойства неопределенного (чтение «имя»)»

#javascript #discord #discord.js

Вопрос:

Я попытался создать бота, и это сработало довольно хорошо, но теперь в моем файле «команды развертывания» появилась эта ошибка, но я не думаю, что я что-то трогал в этом файле

 const fs = require('fs'); const { REST } = require('@discordjs/rest'); const { Routes } = require('discord-api-types/v9'); const { clientId, guildId, token } = require('./config.json');  const commands = []; const commandFiles = fs.readdirSync('./commands').filter(file =gt; file.endsWith('.js'));  for (const file of commandFiles) {  const command = require(`./commands/${file}`);  commands.push(command.data.toJSON()); }  const rest = new REST({version: '9'}).setToken(token);  (async () =gt; {  try {  await rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands});  console.log('Les command ont étés enregistrées !')  } catch (error) {  console.error(error);  } })();  

Пожалуйста, в чем эта ошибка и как я могу ее решить ?

Мой ping.js :

 const { SlashCommandBuilder } = require('@discordjs/builders'); const { CommandInteraction } = require('discord.js');  module.exports = {  data: new SlashCommandBuilder()  .setName('ping')  .setDescription('Renvoie le nombre de ping'),  /**  *   * @param {CommandInteraction} Interaction   */  async execute (Interaction) {  await Interaction.reply('Pong');    const message = await Interaction.fetchReply();   return Interaction.editReply(`Le message a mis ${message.createdTimestamp - Interaction.createdTimestamp} ms.nTon ping est de ${Interaction.client.ws.ping} ms.`);  } }  

Комментарии:

1. какая строка выдает ошибку?

2. строка 11 ( команды.push(command.data.toJSON()); )

3. Можем ли мы увидеть пример командного файла

4. Я добавил командный файл

Ответ №1:

Вы должны объявить команду вне цикла for

 const command = require(`./commands/${file}`)  

Комментарии:

1. Как они смогут просматривать все свои командные файлы, если они находятся вне цикла? Откуда бы file это могло взяться?