When i start the bot is normal and it works with the other commands, but with this, it doesn’t work.
And show this in the Console:
Example app listening at http://localhost:3000
.----------------------------------------------------------------.
| List of Commands |
|----------------------------------------------------------------|
| Help.js | Command: help | Aliases: | Category: General | ✅ |
| Say.js | Command: write | Aliases: | Category: General | ✅ |
| Kick.js | Command: kick | Aliases: | Category: Punishment | ✅ |
'----------------------------------------------------------------'
[BOT] 'LiteBot' client has been activated!
(node:6073) UnhandledPromiseRejectionWarning: TypeError: interaction.reply is not a function
at Help.run (/home/runner/discord-slash-commands-bot-template/Commands/General/Help.js:40:45)
(node:6073) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:6073) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
This is my code:
const { MessageEmbed } = require("discord.js");
const Command = require("../../Utils/Command.js");
class Help extends Command {
constructor(Bot) {
super(Bot, {
enabled: true,
usages: ["help"],
description: "Display bot commands and usage.",
category: "General",
options: [{
name: "help",
description: "Mostra i comandi del bot e il loro utilizzo.",
type: 3
}, {
name: "write",
description: "Scrivi un messaggio nel canale corrente.",
type: 3
}, {
name: "kick",
description: "Espelli un utente dal server.",
type: 3
}]
});
}
async run(interaction, guild, member, args) {
const embed = new MessageEmbed()
.setColor("#0099ff")
.setTitle("Bot Help")
.setDescription("Here are some of the bot commands and their usage:")
.addFields(
{ name: "/help", value: "Mostra i comandi del bot e il loro utilizzo." },
{ name: "/write", value: "Scrivi un messaggio nel canale corrente." },
{ name: "/kick", value: "Espelli un utente dal server." }
)
.setFooter("Bot Help - Powered by Nikilite");
const messageId = await interaction.reply({ embeds: [embed] });
}
}
module.exports = Help;
Hello @Nikilite while we know that having an error can be frustrating remember that we are a community that helps each other! Have patience and someone will help you.
Now about your problem.
This indicates that the function reply doesn’t exist on the interaction object you are passing in the run method of your Help command.
So get rid of this:
And according to their documentation I’d suggest a few things…
First, if you are sure the command help will run quickly you can just use interaction.Reply directly. If you are not, you might want to defer the reply.
For the first case you can adapt your help command to use the interaction.reply:
const { MessageEmbed } = require("discord.js");
const Command = require("../../Utils/Command.js");
class Help extends Command {
constructor(Bot) {
super(Bot, {
// rest of the code here
});
}
async run(interaction, guild, member, args) {
try {
const embed = new MessageEmbed()
.setColor("#0099ff")
.setTitle("Bot Help")
.setDescription("Here are some of the bot commands and their usage:")
.addFields(
{ name: "/help", value: "Mostra i comandi del bot e il loro utilizzo." },
{ name: "/write", value: "Scrivi un messaggio nel canale corrente." },
{ name: "/kick", value: "Espelli un utente dal server." }
)
.setFooter("Bot Help - Powered by Nikilite");
// You just simply reply directly with the embed
await interaction.reply({ embeds: [embed] });
} catch (error) {
console.error("There was an error sending the help message:", error);
}
}
}
module.exports = Help;
There was an error sending the help message: TypeError: interaction.reply is not a function
at Help.run (/home/runner/discord-slash-commands-bot-template/Commands/General/Help.js:42:31)
I just started a new node.js template and tried to install discord.js, it’s installing the new version. You can start a new project and just copy/paster the code of your old one.
I put a web checker on the project link and after 2-3 days everything was finally updated
Now i need to update the script because there is a new error:
/home/runner/A/node_modules/discord.js/src/client/Client.js:509
throw new DiscordjsTypeError(ErrorCodes.ClientMissingIntents);
^
TypeError [ClientMissingIntents]: Valid intents must be provided for the Client.
at Client._validateOptions (/home/runner/A/node_modules/discord.js/src/client/Client.js:509:13)
at new Client (/home/runner/A/node_modules/discord.js/src/client/Client.js:78:10)
at Object.<anonymous> (/home/runner/A/index.js:14:27)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47 {
code: 'ClientMissingIntents'
}
Node.js v18.16.1
exit status 1
this is the problem, because the newer discord.js version is very different from the 12. I need to re-code all the files
node index.js
/home/runner/A/index.js:113
const AllPermissions = new Permissions(Permissions.ALL).toArray();
^
TypeError: Cannot read properties of undefined (reading 'ALL')
at Object.<anonymous> (/home/runner/A/index.js:113:52)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.16.1
exit status 1