Discord.js v13 在一定时间后删除消息

Posted

技术标签:

【中文标题】Discord.js v13 在一定时间后删除消息【英文标题】:Discord.js v13 delete message after a certain amount of time 【发布时间】:2021-10-22 17:34:48 【问题描述】:

直到 discord.js v12,我的机器人会像这样删除它发布的消息:

message.reply("text")
  .then(msg => 
    message.delete()
    msg.delete(timeout: 5000)    //amount of time I want it to wait in milliseconds
  )
  .catch()

但是,现在我将 discord.js 模块更新到 v13,消息立即被删除。

有没有新方法可以做到这一点,还是我做错了?

【问题讨论】:

“有没有一种新方法可以做到这一点” - v13 的文档会告诉你。 甚至还有一个"Breaking changes" 部分 即使我在文档中徘徊了很长一段时间,我也没有看到它......谢谢 【参考方案1】:

事实证明,正如文档 here 中所述,msg.delete() 不再接受选项,这意味着现在正确的代码是这样的:

message.reply("text")
  .then(msg => 
    message.delete()
    setTimeout(() => msg.delete(), 5000)
  )
  .catch()

【讨论】:

以上是关于Discord.js v13 在一定时间后删除消息的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js V13:如何编辑交互的消息对象?

如何将消息发送到指定的频道 - Discord.js v13 TypeScript

无法发送空消息 - Discord.JS v13

discord.js v13 TypeError:无法读取未定义的属性“createMessageCollector”

v12 不会删除机器人的反应,但 v13 会删除机器人的反应 (discord.js)

Discord.js:错误:更新到 v13 后“找不到模块 'node:events'”