簡體   English   中英

如何刪除編輯過的消息discord.js

[英]How to delete edited messages discord.js

我正在制作一個發送隨機 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})但沒有區別。

您的幫助將不勝感激!

您不必創建另一個.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 });
 });
}

您可以像這樣使用 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 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM