无法获取用户名Discord JS的ID

时间:2020-10-08 16:52:38

标签: javascript discord.js

let string = `${args[1]} ${args[2]}`
console.log(string)
const idofuser =  client.users.cache.find((u) => u.username === `${string}`).id

我的朋友Discord名称就像“ Avex Sports”,DiscordJS说:无法读取未定义的属性“ id”,我会寻求任何帮助

1 个答案:

答案 0 :(得分:0)

让我们以字符串开头。您在这里所做的工作有效,但前提是您要查找的名称有两个单词。如果您想使用带有更多或更少单词的名称,则此功能将无效。因此,我们可以在这里.slice(1)假设名称确实从第二个参数开始。

let string = args.slice(1).join(" ");

接下来,我们尝试找到用户对象。在这里,您应该在.toLowerCase()的两侧都使用===,以确保不会遇到大写问题。

let user = client.users.cache.find(u => u.username.toLowerCase() === string.toLowerCase());

最后,我们检查用户是否确实存在,因为如评论中所述,您永远无法假设某个东西存在。如果用户不存在,我们在这里return并发送一条回复作者的消息。

if (!user) {
  return message.reply("That user doesn't exist!");
}
// The rest of your code

如果该用户确实存在,那么您只需在此处继续执行任何操作即可。

有关更多信息,请参见此处https://discordjs.guide/