0

所以我正在尝试编写代码来踢服务器的成员。

async run (commandoMsg, userId) {
        let guild = commandoMsg.guild;
        //console.log(guild.members.fetch(userId));
        let member = guild.members.fetch(userId);
        member.kick('Kicking...')
        .then(m => console.log('kicked'))
        .catch(err => console.log(err));

我收到一条错误消息,提示 TypeError: member.kick is not a function 如何删除此错误?

4

1 回答 1

0

let member = guild.members.fetch(userId);,所以member返回未定义,这意味着找不到成员的 ID。
你的意思是这样使用guild.members.cache.get(userId)
这是您的固定代码:

async run (commandoMsg, userId) {
   let guild = commandoMsg.guild;
   let member = guild.members.cache.get(userId);
   member.kick('Kicking...')
         .then(m => console.log('kicked'))
         .catch(err => console.log(err));
}

顺便说一句,如果您不使用 discord.js v12,请使用guild.members.get(userId)而不是guild.members.cache.get(userId)

于 2020-05-25T12:12:34.083 回答