Discord.js问题出现“ .addRole”

Per*_*sik 0 javascript roblox discord discord.js

因此,我在设置机器人时遇到了问题,该机器人将用户扮演包括表情在内的角色。例:

    const guildMember = message.member;
    guildMember.addRole('<@&439191493169643521>');
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

    // content.js
    const guildMember = message.member;
    guildMember.addRole(config.n);

    // config.json
    {
        "n": "Fox"
    }
Run Code Online (Sandbox Code Playgroud)

而且我也尝试了不使用config.json的情况,只是输入了原始排名名称,但它始终不起作用。

这是控制台:

      (node:15600) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Supplied parameter was neither a Role nor a Snowflake.
      (node:15600) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Run Code Online (Sandbox Code Playgroud)

And*_*dré 5

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Supplied parameter was neither a Role nor a Snowflake.

好吧,Fox它不是角色对象,也不是雪花(ID)。
要添加角色,需要添加对象或ID。

如果要使用ID,则需要使角色可提及\@MyRole,然后转义提及,然后只需复制ID(仅是数字)并使用它即可:

guildMember.addRole('439191493169643521');  
Run Code Online (Sandbox Code Playgroud)

如果您仍然想使用角色名称,则可以执行以下操作:

const role = message.guild.roles.find('name', 'MyRole');
guildMember.addRole(role);
Run Code Online (Sandbox Code Playgroud)