[ DÚVIDA ] discord.js como deletar o comando slash que acionou a funcao
tenho um arquivo say.js e quero que ao digitar /say mensagem , apague o usuario que acionou e deixe so a resposta do bot, como faço isso sei que em python seria algo como await ctx.message.delete()
const { SlashCommandBuilder, PermissionFlagsBits } = require('discord.js');
const { ApplicationCommandOptionType } = require('discord.js');
module.exports = {
name: 'say',
description: "faz o bot falar",
options: [
{
name: 'texto',
description: 'frase do bot',
type: ApplicationCommandOptionType.String,
required: true,
}
],
async execute({ inter }) {
await inter.deferReply();
const texto = inter.options.getString('texto');
await inter.editReply(texto);
},
}`
Com interações é impossível não mostrar algo pro usuário que usou o comando, mas você pode fazer o seguinte:
await inter.reply({
ephemeral: true,
content: "Mensagem enviada!"
}); // Ephemeral true faz com que só o autor da mensagem consiga vê-la.
await inter.channel.send(text); // Agora envie o texto diretamente pro canal em que a mensagem foi executada.
Dessa forma, a interação é respondida ao mesmo tempo que o say é enviado anonimamente.
Mas é recomendado que seu bot não possua um comando /say porque isso pode fazer com que os usuários burlem o ToS do Discord e denunciem seu bot, podendo receber banimento na conta do bot.
estou migrando um bot antigo de python pra js , so para aprender msm e ninguem vai usar
so que nao tava achando em nenhum lugar a resposta pra isso
mas msm assim mto obrigado por avisar 😊