以下是代码:
if (message.author.bot) return;
if (message.content.startsWith(PREFIX)) {
const [CMD_NAME, ...args] = message.content
.trim()
.substring(PREFIX.length)
.split(/s+/);
if (CMD_NAME === 'kick') {
if (args.length === 0) return message.reply('Provide an ID');
const member = message.guild.members.cache.get(args[0]);
if (member) {
member.kick();
} else {
message.channel.send('User not found');
}
}
}
});
出于某种原因,机器人总是输出";用户未找到";即使我使用用户的id。机器人有这样做的权限,有人知道解决这个问题的办法吗?
这是因为Discord Api
中最近的更改导致Guild
缓存为空,要解决此问题,您可以使用以下选项-
-
- 在Discord开发者门户中启用
SERVER MEMBERS INTENT
意向
- 在Discord开发者门户中启用
-
- 获取帮会成员
message.guild.members.fetch(args[0])
- 获取帮会成员