【问题标题】:discord.js Command that gives/removes role from everyone, and only an Admin can use itdiscord.js 赋予/删除所有人角色的命令,只有管理员可以使用它
【发布时间】:2021-08-26 01:18:55
【问题描述】:

我想创建一个命令,赋予每个人一个角色,并且只有管理员可以使用它。 我在互联网上找到了这段代码并尝试修改它,但没有任何帮助,我一直在阅读错误,但我仍然没有得到任何东西


client.on("message", message => {
    if (message.content === 'grimm!rainbow') {
        let role = message.guild.roles.cache.find(r => r.name == 'Rainbow')
        if (!role) return message.channel.send(`a Rainbow role was not found, create one and set it on top of all roles for this command to work!`)
        message.guild.members.filter(m => !m.user.bot).forEach(member => member.addRole(role))
        message.channel.send(`**${message.author.username}**, The Rainbow has been turned on!`)
}});

还有一件事,我希望这个命令只能由管理员使用,但我一直在努力处理该范围内的代码,我不知道如何使用它。 如果有人可以帮助我一点?并解释我做错了什么,我真的很感激!谢谢!

【问题讨论】:

    标签: javascript discord discord.js


    【解决方案1】:

    要检查用户是否具有管理员权限,您需要在此处使用.hasPermission() docs:

    if(message.member.hasPermission('ADMINISTRATOR'){
       // Doing Something
    }
    

    要为所有用户添加角色,您需要访问缓存的公会成员,文档here,然后遍历所有成员,访问他们的角色,您将拥有.add() 用于添加特定角色文档here。类似的删除

    message.guild.members.cache.filter(m => !m.user.bot).forEach(member => member.roles.add(role))
    
    

    【讨论】:

      猜你喜欢
      • 2020-10-07
      • 2021-11-03
      • 2021-06-28
      • 1970-01-01
      • 2021-04-12
      • 2021-04-09
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多