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

Discord机器人遇到特定权限类错误时能否不显示报错?

屏蔽Discord机器人特定消息错误

你的思路是可行的,但你写的代码存在语法和逻辑问题,需要调整:

  • 首先,DiscordAPIError是Error对象,不是字符串,不能直接用err.includes,得读取它的message属性或错误代码来判断。
  • 原代码缺少括号,语法不合法。

正确实现方式

方式1:通过错误消息文本判断

适合简单场景,但注意文本可能随Discord更新变化:

try {
  // 执行你的机器人操作(比如删除消息、编辑消息等)
} catch (err) {
  if (err instanceof Error && err.message.startsWith("DiscordAPIError: Unknown Message")) {
    return; // 跳过该错误,不输出日志
  }
  // 其他错误正常输出
  console.error(err);
}

方式2:通过错误代码判断(更推荐)

Discord的API错误都有固定代码,Unknown Message对应的代码是10008,用代码判断更稳定:

try {
  // 执行你的机器人操作
} catch (err) {
  if (err.code === 10008) {
    return;
  }
  console.error(err);
}

如果是在事件监听的错误回调里(比如client.on('error', ...)),写法类似:

client.on('error', (err) => {
  if (err.code === 10008) return;
  console.error(err);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 22:55:16