Javascript 禁止用户使用用户ID discord.js

Javascript 禁止用户使用用户ID discord.js,javascript,discord.js,Javascript,Discord.js,我对编写discord机器人有点陌生,我有一个问题。我希望有一个ban命令,该命令将禁止命令中提到的用户或具有命令中提供的ID的用户。例如: &ban@User#0001将禁止User#0001 但是 如果命令如下所示: &ban 123456789123456789(假设这是用户#0001的ID) 它仍然会禁止用户#0001(因为它是用户的ID) 我有这个代码,如果我提到用户,它可以工作,但是如果我输入ID,它就不工作了 const Discord = require('discord.js'

我对编写discord机器人有点陌生,我有一个问题。我希望有一个ban命令,该命令将禁止命令中提到的用户或具有命令中提供的ID的用户。例如: &ban@User#0001将禁止User#0001 但是 如果命令如下所示: &ban 123456789123456789(假设这是用户#0001的ID) 它仍然会禁止用户#0001(因为它是用户的ID)

我有这个代码,如果我提到用户,它可以工作,但是如果我输入ID,它就不工作了

const Discord = require('discord.js');

module.exports = {
    name: 'testban',
    description: "Executer will simp for the mentioned user",
    execute(message, args){
        if (!message.member.hasPermission("BAN_MEMBERS")) return message.channel.send("Invalid Permissions")
        let User = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0])
        if (!User) return message.channel.send("Invalid User")
        if (User.hasPermission("BAN_MEMBERS")) return message.reply("Can't ban that one, he also can ban")
        let banReason = args.join(" ").slice(22);
        if (!banReason) {
            banReason = "None"
        }
        console.log(`USER = ${User}`)
        User.ban({reason: banReason})
        var UserID = User.id
        console.log(`USER ID = ${UserID}`)
    }
}
输入ID时出现的错误如下:
message.guild.members.get不是一个函数


即使我只提供ID,我如何才能禁止此人?

如果您使用的是较新版本的discord.js,您需要使用
缓存
,您只需将其更改为:

message.guild.members.cache.get(args[0])

Vinicius的答案是正确的,但也要确保将
message.indications.users.first()
更改为
message.indications.members.first()
,以便它返回
GuildMember
而不是
用户