Discord. js удалить вставку, отправленную ботом - PullRequest
1 голос
/ 27 мая 2020

Я создаю разлад. js Бот V12, и я пытаюсь удалить embed joinNotVerified, которое отправлено ботом, но я не уверен, как это сделать, я попытался сделать message.delete(joinNotVerified), который не работает и не удаляет вставку. Я не хочу, чтобы вставка была удалена после member.roles.add(process.env.ROLE), который находится внизу кода.

client.on('guildMemberAdd', async(member) => {
  if (member.user.Bot || member.guild.id !== process.env.GUILD) return
  const joinNotVerified = new discord.MessageEmbed()
    .setTitle("Join")
    .setColor(0xE67E22)
    .setTimestamp()
    .setDescription(`**User:** ${member.user.username}#${member.user.discriminator}\n**Verified:** No`)
    .setFooter("Verification Pending")
  client.channels.cache.get(`715273438150787092`).send(joinNotVerified)
  const WelcomeMessage = new discord.MessageEmbed()
    .setTitle("ImmortusMC")
    .setColor(0xE67E22)
    .setTimestamp()
    .setDescription(`Welcome to the **ImmortusMC** discord server! We hope you find a home here! Please read through the \`#rules\` channel before accepting the rules!\n\nIf you accept the rules, please verify your agreement by reacting to this message with the tick.`)
    .setFooter("Verification Pending")
  let confirm = await member.send(WelcomeMessage);
  await confirm.react('✅');

  let reactionFilter = (reaction, user) => (user.id === member.id) && !user.bot;
  let reaction = (await confirm.awaitReactions(reactionFilter, {
    max: 1
  })).first();
  if (reaction.emoji.name === '✅') {
    confirm.delete();
    const completemsg = new discord.MessageEmbed()
      .setTitle("ImmortusMC")
      .setDescription(`Thank you for agreeing to the rules! You are now a verified member!`)
      .setColor(0xE67E22)
      .setTimestamp()
      .setFooter("Verification Success")
    member.send(completemsg);
  }

  member.roles.add(process.env.ROLE)
  message.delete(joinNotVerified)
  const joinVerified = new discord.MessageEmbed()
    .setTitle("Join")
    .setColor(0xE67E22)
    .setTimestamp()
    .setDescription(`**User:** ${member.user.username}#${member.user.discriminator}\n**Verified:** Yes`)
    .setFooter("Verification Success")
  client.channels.cache.get(`715273438150787092`).send(joinVerified)
})

1 Ответ

0 голосов
/ 28 мая 2020
Для объекта сообщения, который вы хотите удалить, необходимо использовать метод

delete. Вот что вы хотите сделать:

const joinNotVerified = new discord.MessageEmbed()
.setTitle("Join")
.setColor(0xE67E22)
.setTimestamp()
.setDescription(`**User:** ${member.user.username}#${member.user.discriminator}\n**Verified:** No`)
.setFooter("Verification Pending")

let verificationPending = await client.channels.cache.get(`715273438150787092`).send(joinNotVerified);

...

member.roles.add(process.env.ROLE)
verificationPending.delete()
...