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

Discord.js V13 执行purge清空成员消息命令完成后报错如何修复

错误原因分析

报错代码10008属于Discord API的未知消息错误,触发原因是你尝试删除一条已经不存在的消息,常见触发点有两个:

  1. 代码开头设置了3.5秒后删除用户触发命令的消息,但后续批量删除操作可能已经提前把这条消息删掉了,等到定时任务执行时就会因为找不到消息抛出错误
  2. 手动循环删除消息的逻辑没有做错误捕获,遇到已经被其他操作删除、或是超出14天无法删除的消息时,就会抛出未处理的异常
    另外你当前用循环单条删消息的逻辑效率很低,还很容易触发Discord的API请求频率限制。
修复方案
  1. 给所有删除消息的操作添加错误捕获,吞掉消息不存在的异常,避免程序崩溃
  2. 替换手动循环删除逻辑为discord.js内置的bulkDelete批量删除方法,该方法会自动过滤无法删除的消息(已删除、超14天等),执行效率更高还不会触发频率限制
  3. 把传入的删除数量参数转成数字类型,避免逻辑异常
完整修复后代码
const Discord = require('discord.js');
const { Permissions } = require('discord.js');
const { MessageEmbed } = require("discord.js")

module.exports = {
    description: 'purge command',
    run: async (client, message, args) => {
        // 给删除命令消息的操作加错误捕获,避免消息已被删除时报错
        setTimeout(() => message.delete().catch(err => {}), 3500);

        if (message.member.permissions.has(Permissions.FLAGS.KICK_MEMBERS)) {

            let purgeMember = message.mentions.users.first()
            let amount = Number(args[1])
            if (!purgeMember) return message.channel.send("Please Mention a Member to purge").then(msg => { setTimeout(() => msg.delete().catch(err => {}), 4000) })
            if (!amount || isNaN(amount)) return message.channel.send("Please provide a valid number to purge").then(msg => { setTimeout(() => msg.delete().catch(err => {}), 4000) })
            if (amount > 99) return message.channel.send("I can delete upto 100 messages only").then(msg => { setTimeout(() => msg.delete().catch(err => {}), 4000) })

            let AllMessages = await message.channel.messages.fetch()
            let FilteredMessages = AllMessages.filter(x => x.author.id === purgeMember.id).first(amount)
            // 使用内置批量删除方法,第二个参数为true自动过滤无法删除的消息,加错误捕获
            await message.channel.bulkDelete(FilteredMessages, true).catch(err => {})

        } else {
            message.channel.send('🛡️ | You DONT have permission to use this command!').then(msg => { setTimeout(() => msg.delete().catch(err => {}), 5000) })
        }

    },
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:18:05