久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

用戶角色層次結構

User role-hierarchy(用戶角色層次結構)
本文介紹了用戶角色層次結構的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

由于像這樣 https://media.discordapp.net/attachments/223867697312694272/723382952330919976/image0.png

相反,我的機器人允許用戶將上面的角色添加給他們自己或其他用戶,只要他們具有所需的權限 https://cdn.discordapp.com/attachments/223867697312694272/723382993384767550/image0.png

Instead my bot allows the user to add the role above them to themselves or other users as long as they have the required permissions https://cdn.discordapp.com/attachments/223867697312694272/723382993384767550/image0.png

我的代碼:

const Discord = require("discord.js");

module.exports.run = async (bot, message, args) => {

    if (!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send("You don't have permissions to use this!");

    let xdemb = new Discord.RichEmbed()
        .setColor("RANDOM")
        .setTitle("Role Command")
        .addField("Description:", `Adds/removes a role to/from a member`, true)
        .addField("Usage:", "`?role` [user] roleName", true)
        .addField("Example:" ,"`?role` @user goodrole", true)

    let member = message.mentions.members.first();
    if(!member) return message.channel.send(xdemb)

    let role = args.slice(2).join(" ")
    if(!role) return message.channel.send("Provide a role to assign")

    let gRole = message.guild.roles.find(r => r.name.toLowerCase() === role.toLowerCase())
    if(!gRole) return message.channel.send(`There's no role with the name `${role}``)


    if(member.roles.has(gRole.id)) {
        member.removeRole(gRole.id)
        message.channel.send(`Removed role `${role}` from **${member.user.username}**`)
    } else {
        member.addRole(gRole.id)
        message.channel.send(`Added role `${role}` to **${member.user.username}**`)
    }
}

module.exports.help = {
    name: "role"
}

推薦答案

Discord.js 中的 Role 類有一個 position 屬性,表示其在角色管理器中的位置.

The Role class in Discord.js has a position property which represents its position in the role manager.

GuildMember 類有一個名為 roles,它的類型是 GuildMemberRoleManager.GuildMemberRoleManager 類有一個名為 highest,指向成員擁有的排名最高的角色.

The GuildMember class has a property named roles, which is of type GuildMemberRoleManager. The GuildMemberRoleManager class has a property named highest, which points to the highest ranked role that the member has.

所以.為了確保機器人不會在層次結構中為成員提供比他們更高的角色,您可以將他們想要的角色的 positionposition 進行比較他們目前的最高職位.

So. To make sure that the bot doesn't give a member a role that is higher than them in the hierarchy, you can compare the position of the role they want with the position of their current highest role.

這篇關于用戶角色層次結構的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

discord.js v12: How do I await for messages in a DM channel?(discord.js v12:我如何等待 DM 頻道中的消息?)
how to make my bot mention the person who gave that bot command(如何讓我的機器人提及發出該機器人命令的人)
How to fix Must use import to load ES Module discord.js(如何修復必須使用導入來加載 ES 模塊 discord.js)
How to list all members from a specific server?(如何列出來自特定服務器的所有成員?)
Discord bot: Fix ‘FFMPEG not found’(Discord bot:修復“找不到 FFMPEG)
Welcome message when joining discord Server using discord.js(使用 discord.js 加入 discord 服務器時的歡迎消息)
主站蜘蛛池模板: 丝袜美腿一区 | 麻豆av电影网 | 一级片在线免费播放 | 亚洲性人人天天夜夜摸 | 亚洲一区二区视频 | 国产福利91精品一区二区三区 | 欧美性受xxxx | 亚洲第一福利视频 | 免费在线观看黄色av | 亚洲国产精品va在线看黑人 | 日韩电影免费在线观看中文字幕 | 天天射天天干 | 91高清视频在线观看 | 日韩一区二区三区视频 | 性视频一区 | 国产精品中文字幕在线播放 | 日本不卡一区二区 | 久久久久亚洲 | 国产视频福利一区 | 久久久久久久一区二区 | 精品1区| 欧美视频在线观看 | 99re在线视频观看 | 国产亚洲黄色片 | 久久69精品久久久久久久电影好 | 日本超碰 | 中文字幕国产在线 | 国产女人与拘做视频免费 | 精品一区二区三区在线视频 | 天天操夜夜看 | 国产精品精品视频一区二区三区 | 亚洲天堂中文字幕 | 一级毛片免费完整视频 | 日韩a在线 | 97av在线 | 欧美一卡二卡在线观看 | 精品国产一区二区国模嫣然 | 欧美www在线| 国产成人综合一区二区三区 | 免费国产视频在线观看 | 亚洲欧美中文日韩在线v日本 |