【问题标题】:Add a Role for myself discord.js为我自己添加一个角色 discord.js
【发布时间】:2022-01-10 20:04:04
【问题描述】:

我想做一个setup 命令,这样我就可以创建一个角色并通过命令将其提供给自己。角色已创建,但我无法赋予自己角色。创建角色后,我总是收到错误代码。

我的代码:


            case 'setup':

                if(!message.author.id == '416940852291045376') return message.channel.send('Youre not me') 

                message.guild.roles.create({
                    name: 'Bot dev',
                    color: '#0080FF',
                    permissions: 'ADMINISTRATOR'
                })
                .catch(console.error);
            
            
                let role = message.guild.roles.cache.find(r => r.name === "Bot dev")
                let member = message.member
            
                member.roles.add(role)


我得到的错误代码:


C:\Discord Bots\Bot v13\node_modules\discord.js\src\managers\GuildMemberRoleManager.js:110
        throw new TypeError('INVALID_TYPE', 'roles', 'Role, Snowflake or Array or Collection of Roles or Snowflakes');
              ^

TypeError [INVALID_TYPE]: Supplied roles is not a Role, Snowflake or Array or Collection of Roles or Snowflakes.

【问题讨论】:

  • 记录role,你得到了什么?我想是undefined

标签: discord.js


【解决方案1】:

RoleManager#create() 返回一个带有新创建角色的承诺,您必须在搜索角色之前等待它或解决它。

message.guild.roles.create({
   name: 'Bot dev',
   color: '#0080FF',
   permissions: 'ADMINISTRATOR'
})
.then(role => {
    const { member } = message;
    member.roles.add(role);
})
.catch(console.error);                

【讨论】:

    猜你喜欢
    • 2021-01-28
    • 2022-01-18
    • 1970-01-01
    • 2023-03-22
    • 2020-11-30
    • 2021-05-03
    • 2023-03-15
    • 2021-04-10
    • 2021-09-26
    相关资源
    最近更新 更多