Node.js Discord.js UnhandledPromiseRejectionWarning。TypeError.无法读取未定义的'calculatePosition'属性。不能读取未定义的'calculatedPosition'属性。

问题描述 投票:0回答:1

我使用的是discord.js,我在做一个ban命令的时候出现了这个错误。UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'calculatedPosition' of undefined

我的代码是:

let banUser = message.guild.member(message.mentions.users.first())
let bannerHighRole = message.member.highestRole.calculatedPosition;
let getBannedHighRole = banUser.highestRole.calculatedPosition;
if (bannerHighRole < getBannedHighRole) return message.reply("You cannot ban users that have higher roles than you!")
if (bannerHighRole = getBannedHighRole) return message.reply("You cannot ban users that have same highest role!")

如何解决这个错误?

javascript node.js discord.js
1个回答
0
投票

这必须是v11或更早的代码,检查文档以更新你的其他代码,但无论如何。

他们修改了很多camelCase函数,比如: fetchMessages 到诸如 messages.fetch,可能会对你有用。

// you can use message.mentions.members instead of converting a user
let banUser = message.mentions.members.first();
let bannerHighRole = message.member.roles.highest.position;
let getBannedHighRole = banUser.roles.highest.position;
if (bannerHighRole < getBannedHighRole) return message.reply("You cannot ban users that have higher roles than you!");
//you had x = y, which is an assignment
if (bannerHighRole === getBannedHighRole) return message.reply("You cannot ban users that have same highest role!");

也看到了完整的代码,你应该在计算所有这些之前,可能会检查用户是否有modadmin。

© www.soinside.com 2019 - 2024. All rights reserved.