Troubleshooting

In this section, you will find some common issues and how to fix them. However, if you are still having problems, please do not hesitate to open an issue.

Commands Are Not Registered

One of the common causes of why commands are not registered is if you have reciple-registry-cache installed and the commands are cached. If this is the case you will get a message like this:

[13:45:31 WARN] Application commands did not change! Skipping command register...

To solve this issue, clear the registry cache by deleting the node_modules/.cache/reciple-registry-cache directory. You will need to restart the bot for this to take effect and you’ll get a message like this:

[13:45:31 WARN] Registed (3) application commands globally

Commands Are Not Loaded

Make sure your modules are properly exported and the commands are in the commands property of your module.

For example, if you have a module named MyModule that contains a slash command called ping, you will need to add this command to the commands property of your module.

import { SlashCommandBuilder } from 'reciple';

export class MyModule {
    commands = [
        new SlashCommandBuilder()
            .setName('ping')
            .setDescription('Ping command')
            .setExecute(async ({ interaction }) => {
                await interaction.reply('Pong!');
            })
    ];

    onStart() {
        return true;
    }
}

// Export the instance of your module
export default new MyModule();

If the problem still persists, make sure the module is in a valid modules folder. You can see the list of valid modules in the reciple.mjs config.