Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

280
Vistas
TypeError: Cannot read properties of undefined (reading 'destroy')

I get this error:

TypeError: Cannot read properties of undefined (reading 'destroy')

When running this code:

const { SlashCommandBuilder } = require("@discordjs/builders");
require('dotenv').config()

module.exports = {
    data: new SlashCommandBuilder()
    .setName("restart")
    .setDescription("Restarts the bot."),
    async execute(interaction, args, client) {
        let isBotOwner = interaction.user.id == '847213179142799452';

        if (isBotOwner) {
            interaction.reply('Restarting...').then(m => {
                client.destroy().then(() => {
                client.login(process.env.TOKEN);
              });
          });

        } else {
            interaction.reply('You cannot run this command unless you are the developer of me.')
        }
    }
}

The error is on client.destroy(). I've been looking in the docs and guides and on google but can't find anything on how to get it to work.

Could it be because I'm trying to destroy the client through a slash command?

Here is the command/interaction handler:

const {
    Client,
    Collection,
    Intents
} = require('discord.js');
const client = new Client({
    intents: [Intents.FLAGS.GUILDS]
});
const fs = require('fs');
require('dotenv').config()


client.commands = new Collection();
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

for (const file of commandFiles) {
    const command = require(`./commands/${file}`);
    // Set a new item in the Collection
    // With the key as the command name and the value as the exported module
    client.commands.set(command.data.name, command);
}

client.on('interactionCreate', async interaction => {
    if (!interaction.isCommand()) return;

    const command = client.commands.get(interaction.commandName);

    if (!command) return;

    try {
        await command.execute(interaction);
    } catch (error) {
        console.error(error);
        await interaction.reply({
            content: 'There was an error while executing this command!',
            ephemeral: true
        });
    }
});
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda