👥Guild Member
Prototypes from GuildMember
Checking if a MemberA is manageable by MemberB
function isManageableBy(memberA, memberB) {
if (memberA.id === memberA.guild.ownerId) return false;
if (memberA.id === memberB.id) return false;
if (memberA.guild.ownerId === memberB.id) return true;
return memberB.roles.highest.comparePositionTo(memberA.roles.highest) > 0;
}
isManageableBy(MemberA, MemberB);
MemberA.manageableBy(MemberB);
Checking if a MemberA is bannable by MemberB
function isManageableBy(memberA, memberB) {
// above code...
}
function isBannableBy(MemberA, MemberB) {
return isManageableBy(MemberA, MemberB)
&& MemberB.permissions.has(PermissionFlagsBits.BanMembers);
}
isBannableBy(MemberA, MemberB);
MemberA.bannableBy(MemberB);
Checking if a MemberA is kickable by MemberB
function isManageableBy(memberA, memberB) {
// above code...
}
function isKickableBy(MemberA, MemberB) {
return isManageableBy(MemberA, MemberB) &&
MemberB.permissions.has(PermissionFlagsBits.KickMembers);
}
isKickableBy(MemberA, MemberB);
MemberA.kickableBy(MemberB);
Checking if a MemberA is moderatable by MemberB
function isManageableBy(memberA, memberB) {
// above code...
}
function isModerateBy(MemberA, MemberB) {
return (
!MemberA.permissions.has(PermissionFlagsBits.Administrator) &&
isManageableBy(memberA, memberB) &&
MemberB.permissions.has(PermissionFlagsBits.ModerateMembers)
);
}
isModerateBy(MemberA, MemberB);
MemberA.moderatableBy(MemberB);
Last updated