You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js机器人无法延迟5秒删除消息且运行报错求助

问题原因
  • 你使用的discord.js为v13及以上版本,存在两处不兼容写法:
    1. 旧版message事件已被废弃,替换为messageCreate事件
    2. Message.delete() 方法传参规则变更:旧版本可直接传入毫秒数作为延迟删除时间,新版本要求传入配置对象才能设置延迟,直接传数字会触发类型不匹配错误
  • 异步方法delete返回Promise,你未添加异常捕获逻辑,因此抛出未处理的Promise拒绝警告
修复方案

适用于discord.js v13版本

client.on('messageCreate', message => {
  // 过滤机器人自身消息避免循环触发
  if (message.author.bot) return;
  if (message.content.toLowerCase().includes(",")) {
    // 传入配置对象设置延迟,同时添加catch捕获异常
    message.delete({ timeout: 5000 })
      .catch(err => console.error('删除消息失败:', err));
  }
});

适用于discord.js v14及以上版本

v14版本已移除delete方法的内置延迟参数,需要手动通过setTimeout实现5秒延迟删除:

client.on('messageCreate', message => {
  if (message.author.bot) return;
  if (message.content.toLowerCase().includes(",")) {
    setTimeout(() => {
      message.delete().catch(err => console.error('删除消息失败:', err));
    }, 5000);
  }
});

内容的提问来源于stack exchange,提问作者Zeudon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:42:03