const { SlashCommandBuilder } = require('discord.js');
const { EmbedBuilder } = require('discord.js');
// inside a command, event listener, etc.
module.exports = {
data: new SlashCommandBuilder()
.setName('help')
.setDescription('Получи помощь'),
async execute(EmbedBuilder) {
const helpEmb = new EmbedBuilder()
.setColor(0xff8c40)
.setTitle('титл мастир')
.setDescription('дескриптиан')
channel.send({ embeds: [helpEmb] });
}
}
TypeError: EmbedBuilder is not a constructor
at Client.<anonymous> (C:\Intel\code\bot\index.js:42:23)
at Client.emit (node:events:519:28)
at InteractionCreateAction.handle (C:\Intel\code\bot\node_modules\discord.js\src\client\actions\InteractionCreate.js:97:12)
at module.exports [as INTERACTION_CREATE] (C:\Intel\code\bot\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36) :4:36)
at WebSocketManager.handlePacket (C:\Intel\code\bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:355:31)
at WebSocketManager.<anonymous> (C:\Intel\code\bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:239:12)
at WebSocketManager.emit (C:\Intel\code\bot\node_modules\@vladfrangu\async_event_emitter\dist\index.cjs:282:31)
at WebSocketShard.<anonymous> (C:\Intel\code\bot\node_modules\@discordjs\ws\dist\index.js:1173:51)
at WebSocketShard.emit (C:\Intel\code\bot\node_modules\@vladfrangu\async_event_emitter\dist\index.cjs:282:31)
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
module.exports = {
data: new SlashCommandBuilder()
.setName('help')
.setDescription('Получи помощь'),
async execute(interaction) { // <== (•)
const helpEmb = new EmbedBuilder()
.setColor(0xff8c40)
.setTitle('титл мастир')
.setDescription('дескриптиан');
await interaction.reply({ embeds: [helpEmb] });
}
}
execute
(•) указываете переменную с названием, аналогичным названию переменной сверху в const { SlashCommandBuilder, /* этой ==> */ EmbedBuilder /* <== этой */ } = require("discord.js");
EmbedBuilder
(почему?), когда должна использоваться внешняя, для корректной работы кода.EmbedBuilder
на любое другое: я заменил выше на interaction
, т.к если у вас правильно настроена обработка команд в основном файле, аргументом этой функции будет CommandInteraction.channel.send(...)
, вылетит ошибка, поскольку channel
не было нигде определено до этого — заменил на interaction.reply(...)