I have been working on improving my ticket system and got into that problem:

My code is:
await button.clicker.fetch();
if (!button.clicker.member.roles.cache.has("859507507596230736")) return button.reply.send("Only staff can close the ticket.", true)
var embed = new Discord.MessageEmbed()
.setTitle("Are you sure?")
.setDescription("Are you sure you want to close this ticket?\nThis action cannot be undone.")
.setFooter(button.guild.name)
.setColor("RED")
var bu1tton = new MessageButton()
.setStyle(`red`)
.setEmoji(`🔒`)
.setLabel(`Proceed anyway`)
.setID("sure")
button.reply.send({ component: bu1tton, embed: embed }, true)
}
After I changed button.reply.send({ component: bu1tton, embed: embed }, true) to button.channel.send({ component: bu1tton, embed: embed }) it worked perfectly, although was viewable by everyone.
I understand the problem is , true but I don't understand why? Thanks in advance.
You have to use ephemeral: true instead of }, true)
Here is the code:
button.reply.send({ component: bu1tton, embed: embed, ephemeral: true})