Skip to content
Advertisement

Delete Discord.js v13 slash command that doesnt exist

lately, I started working on a discord bot and added slash commands.

I noticed that I have a ping(replies with pong) command that I didn’t create or I did and I can’t get rid of it.

Here is my interactionHandler.js

const { REST } = require("@discordjs/rest");
const { Routes } = require("discord-api-types/v9");

module.exports = async (err, files, client) => {
  if (err) return console.error(err);

  client.interactionsArray = [];
  files.forEach((file) => {
    const interaction = require(`./../interactions/${file}`);
    client.interactions.set(interaction.data.name, interaction);
    client.interactionsArray.push(interaction.data.toJSON());
  });

  const rest = new REST({ version: "9" }).setToken(process.env.DISCORD_TOKEN);
  
  (async () => {
    try {
      // console.log("Refreshing slash command list");
      // const guildIds = await client.guilds.cache.map((guild) => guild.id);
      // const clientId = await client.user.id;
      // guildIds.forEach(async (guildId) => {
      //   await rest.put(Routes.applicationGuildCommands(clientId, guildId), {
      //     body: client.interactionsArray,
      //   });
      // });
      await rest.put(
            Routes.applicationGuildCommands("934895917453168653", "967384688069066852"),
            { body: client.interactionsArray},
        );

      console.log("Successfully refreshed slash command list");
    } catch (error) {
      console.error(error);
    }
  })();
};

Is there a way to delete the command because I cant find a way. I was thinking of getting the ID of the command but I don’t know how. Thanks for all the helpers 🙂 Discord.js v13

Advertisement

Answer

These commands may not be refreshing because of 2 reasons:

  • These commands may be global commands to change that to refreshing global (instead of guild) commands replace Routes.applicationGuildCommands to Routes.applicationCommands
  • These commands may be from a different guild which in the case you should change the guild ID

To figure out the problem you should do client.application.commands.fetch() to get all your commands and then console.log() the result.

Example

//This will fetch all your slash commands
const commands = await client.application.commands.fetch();
//Returns a collection of application commands
console.log(commands);
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement