【问题标题】:How to delete edited messages discord.js如何删除已编辑的消息 discord.js
【发布时间】:2020-08-31 00:33:02
【问题描述】:

我正在制作一个发送随机 GIF 的机器人,但 GIF 需要很长时间才能加载,所以我想告诉用户,通过说“Gifs 需要很长时间加载”然后编辑消息说“收集随机 GIF”,然后我希望它删除已编辑的消息。这是我的代码:

if (message.content === 'zhood'){
        message.channel.send("*Gifs take long to load, please wait*").then((msg) => setTimeout(function(){
            msg.edit('*Collecting random GIFs*');
          }, 1000))
        .then(msg =>{
            msg.delete({ timeout: 2000 })
        })
}

这是给出的错误:

(node:12248) UnhandledPromiseRejectionWarning: TypeError: msg.delete is not a function

我也尝试过message.delete({timeout: 2000}),但没有任何区别。

您的帮助将不胜感激!

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    您不必创建另一个.then() 回调,只需在第一个中继续:

    if (message.content === 'zhood') {
     message.channel.send('*Gifs take long to load, please wait*').then((msg) => {
      setTimeout(() => {
       msg.edit('*Collecting random GIFs*');
      }, 1000);
      msg.delete({ timeout: 2000 });
     });
    }
    

    【讨论】:

      【解决方案2】:

      您可以像这样使用 async/await 来做到这一点:

      const waitMsg = await message.channel.send('*Gifs take long to load, please wait*');
      
      setTimeout(() => {
        waitMsg.edit('*Collecting random GIFs*');
      }, 1000);
      
      waitMsg.delete({ timeout: 2000 });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-26
        • 1970-01-01
        • 1970-01-01
        • 2019-11-17
        • 1970-01-01
        • 1970-01-01
        • 2020-09-10
        • 1970-01-01
        相关资源
        最近更新 更多