У меня вечная проблема с слеш командами. interaction.reply не работает потому-что думает, что уже ответил на сообщение и удалить этот ответ у меня не получилось. Работает только interaction.followUp
Пример кода:
const { Client, CommandInteraction, MessageActionRow, MessageButton } = require('discord.js');
module.exports = {
name: 'respect',
description: "Оценка пользователя",
options: [
{
name: "user",
description: "Кого хотите оценить?",
type: 6,
required: true
},
],
/**
* @param {Client} client
* @param {CommandInteraction} interaction
* @param {String[]} args
*/
run: async(client, interaction, args) =>{
const author = interaction.options.getUser('user')
const row = new MessageActionRow()
.addComponents(
new MessageButton()
.setCustomId('+rep')
.setEmoji('')
.setLabel('Положительно')
.setStyle('SUCCESS')
)
.addComponents(
new MessageButton()
.setCustomId('-rep')
.setEmoji('')
.setLabel('Отрицательно')
.setStyle('DANGER')
)
const embed = {
description: `**Как вы относитесь к ${author.username}?**`,
/*thumbnail: {
url: rValue
},*/
timestamp: Date.now(),
footer: {
icon_url: author.displayAvatarURL() ?? "https://cdn.discordapp.com/embed/avatars/0.png",
text: `Запрошено ${author.username}`,
},
color: 7419530
}
//client.add(author.id, parseInt(suma));
interaction.followUp({ embeds: [embed], components: [row]})
}
}
Когда я пытаюсь сделать с interaction.reply
ошибка: if (this.deferred || this.replied) throw new Error('INTERACTION_ALREADY_REPLIED');
^
Error [INTERACTION_ALREADY_REPLIED]: The reply to this interaction has already been sent or deferred.