2 回答

TA貢獻1796條經(jīng)驗 獲得超4個贊
以下是我能想到的選項:
if (!member.user.bot)
檢查用戶是否不是機器人
if (member.kickable)
檢查成員是否可以踢
要先檢查成員是否存在,請查看:https : //stackoverflow.com/a/53284678/11425141

TA貢獻1784條經(jīng)驗 獲得超2個贊
您可以通過多種方式執(zhí)行此操作。您可以檢查具有哪些權(quán)限以禁止其他人踢他們(例如,KICK_MEMBERS)。那看起來像這樣:
let member = message.mentions.members.first();
if (member.hasPermission("KICK_MEMBERS)) return message.channel.send("That member can also kick!")
您還可以檢查他們是否獲得了不允許踢他們的特定角色。(可能是主持人角色,可能是受保護角色)
//Get role by ID (Allows you to later change its name, ID will remain the same)
let modRole = message.guild.roles.get("MODROLE_ID");
if (member.role.has(modRole.id)) return message.channel.send("This member is a moderator")
//Find role by name. Means if you change the name of this, you need to change code too.
let protectedRole = message.guild.roles.find(r => r.name === "Protected from kicking")
if (member.role.has(protectedRole.id)) return message.channel.send("This member is protected")
最后(我知道),您可以檢查它們是否可以踢。但所做的只是,如果他們上面的人試圖踢他們,它就會這樣做。因此,如果管理員說,正在測試或其他內(nèi)容,如果 kickable = true,它只會踢用戶
if (member.kickable) {
member.kick()
} else {
message.channel.send("This member is above you!)"
}
如果您只想檢查他們是否是實際用戶,請在頂部添加以下行:
if (!member.bot) {
//If they're a user
} else {
//If they're a bot
}
顯然,你可以用它做很多有趣的事情。但這些是基礎(chǔ)。希望我有所幫助,對于這么晚的回復(fù),我很抱歉,我?guī)缀踔皇窃谡搲袧L動并發(fā)現(xiàn)了這個未回答的問題。
添加回答
舉報