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”,我会寻求任何帮助
答案 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/。