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.