【问题标题】:How can I delete a message after sending it?发送后如何删除消息?
【发布时间】:2021-05-13 01:39:32
【问题描述】:

我有一个代码,当会员加入公会时会发送一条消息,我想稍后将其删除。

我的代码:

client.on('guildMemberAdd', (member) => {
  var server = member.guild.id;
  if (server === '760511134079254610') {
    let kanal = client.channels.cache.get('786172941703970860');
    const embed = new Discord.MessageEmbed()
      .setTitle('Hoşgeldin!')
      .setDescription(`**<@${member.user.id}>** kullanıcısı sunucumuza geldi!`)
      .setColor('BLUE')

    kanal.send(embed)
}})

我尝试了embed.delete 或只是经典的msg.delete,但它不起作用,因为我可以/不知道如何将“msg”定义为机器人发送的最后一条消息。

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    kanal.send(embed) 返回一个承诺。您可以在此处使用 async/await 来获取该消息,以便稍后将其删除。检查以下代码;它应该在 5 秒后删除该消息:

    client.on('guildMemberAdd', async (member) => {
      const server = member.guild.id;
      if (server === '760511134079254610') {
        let kanal = client.channels.cache.get('786172941703970860');
        const embed = new Discord.MessageEmbed()
          .setTitle('Hoşgeldin!')
          .setDescription(`**<@${member.user.id}>** kullanıcısı sunucumuza geldi!`)
          .setColor('BLUE');
    
        try {
          const sentMessage = await kanal.send(embed);
    
          setTimeout(() => {
            sentMessage.delete();
          }, 5000);
        } catch (error) {
          console.log(error);
        }
      }
    });
    

    更新:Legendary Emoji 提到,除了setTimeout,您还可以在sentMessage.delete 中使用带有timeout 属性的选项对象,如下所示:

        try {
          const sentMessage = await kanal.send(embed);
          sentMessage.delete({ timeout: 5000 });
        } catch (error) {
          console.log(error);
        }
        // ...
    

    【讨论】:

    【解决方案2】:

    很简单,你只需要做

        kanal.send(embed).then(sentMessage => {
    sentMessage.delete()
    })
    

    这将发送消息,然后立即将其删除。但玩家会收到提及和/或桌面通知

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-03
      • 2020-05-17
      • 2019-09-16
      • 1970-01-01
      • 2021-07-23
      • 2019-12-25
      • 2021-10-14
      • 2020-11-08
      相关资源
      最近更新 更多