Javascript TypeError:value.split不是函数

Javascript TypeError:value.split不是函数,javascript,bots,discord,discord.js,Javascript,Bots,Discord,Discord.js,我正在创建一个discord.js bot v12,当我在discord中使用purge命令时,我在第2行遇到了这个错误,我假设value.split不是一个函数,我想知道我是否应该做其他事情,因为我使用的是discord.js的v12: Uncaught Promise Error: TypeError: args.split is not a function or its return value is not iterable at Object.module.exports.

我正在创建一个discord.js bot v12,当我在discord中使用purge命令时,我在第2行遇到了这个错误,我假设value.split不是一个函数,我想知道我是否应该做其他事情,因为我使用的是discord.js的v12:

Uncaught Promise Error: 
TypeError: args.split is not a function or its return value is not iterable
    at Object.module.exports.run (c:\Users\Kazzu\Desktop\src\commands\prune.js:2:34)
    at module.exports (c:\Users\Kazzu\Desktop\src\events\message.js:33:9)
    at Client.emit (events.js:323:22)
    at MessageCreateAction.handle (c:\Users\Kazzu\Desktop\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (c:\Users\Kazzu\Desktop\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (c:\Users\Kazzu\Desktop\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
    at WebSocketShard.onPacket (c:\Users\Kazzu\Desktop\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
    at WebSocketShard.onMessage (c:\Users\Kazzu\Desktop\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
    at WebSocket.onMessage (c:\Users\Kazzu\Desktop\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:311:20)
这是我的代码:

module.exports.run = async (client, message, args) => {
    let [ userId, limit ] = args.split(/\s+/);
        if(!userId && !limit) {
            let deletedMessages = await message.channel.bulkDelete();
            message.channel.send(`${deletedMessages.size} messages were deleted.`);
        }
        if(!userId || !limit) return message.channel.send('Please provide the correct arguments.');
        let r = new RegExp(/^\d+$/);
        if(!r.test(userId)) return message.channel.send('Please provide a valid user id.');
        if(isNaN(limit)) return message.channel.send('Please provide a numeric value for limit');
        if(limit > 100) return message.channel.send('Limit must be less than or equal to 100.');
        try {
            let fetchedMessages = await message.channel.messages.fetch({ limit });
            let filteredMessages = fetchedMessages.filter(message => message.author.id === userId);
            let deletedMessages = await message.channel.bulkDelete(filteredMessages);
            message.channel.send(`${deletedMessages.size} messages were deleted.`);
        }
        catch(err) {
            console.log(err);
        }
}

module.exports.help = {
    name: "purge",
    description: "Deletes a number of messages from a user in a channel."
}

module.exports.requirements = {
    userPerms: [],
    clientPerms: [],
    ownerOnly: false
}

原来我需要将value.split替换为value.slice

似乎
args
不是
字符串的类型。当您为非
字符串
调用
.split()
时,
JavaScript
运行时无法找到该类型的
.split()
方法。因此,请确保您正在向函数传递字符串,或者尝试类似的操作:

if (typeof string === args) {
    var str = args.toString();
}
您可以通过console.log(args)查看它是什么吗?