【问题标题】:discord.js delete embed sent by botdiscord.js 删除机器人发送的嵌入
【发布时间】:2020-09-15 00:20:41
【问题描述】:

我正在创建一个 discord.js V12 机器人,我正在尝试删除该机器人发送的 embed joinNotVerified,但我不确定如何执行此操作,我尝试执行 message.delete(joinNotVerified),但它没有t 工作,不会删除嵌入。我不想在代码底部的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)
})

【问题讨论】:

    标签: javascript bots discord discord.js


    【解决方案1】:

    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()
    

    【讨论】:

      猜你喜欢
      • 2021-05-08
      • 2019-09-20
      • 2021-01-09
      • 2020-10-26
      • 2020-06-29
      • 2021-07-22
      • 2022-01-24
      • 2021-07-27
      • 2020-09-08
      相关资源
      最近更新 更多