Discord.js Проблема с ".addRole" - PullRequest
0 голосов
/ 27 апреля 2018

Итак, у меня возникли проблемы с настройкой бота, который назначает пользователя на роль, включающую смайлики. Пример:

    const guildMember = message.member;
    guildMember.addRole('<@&439191493169643521>');

Я тоже пробовал:

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

    // config.json
    {
        "n": "?Fox"
    }

а также я попробовал это без 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.

1 Ответ

0 голосов
/ 27 апреля 2018

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

Ну, ?Fox не является Ролевым объектом и также не Снежинка (ID).
Чтобы добавить нужную вам роль или объект, или идентификатор.

Если вы хотите использовать идентификатор, вам нужно сделать роль упоминаемой, а затем убрать упоминание \@MyRole, а затем просто скопировать идентификатор (это только цифры) и использовать его:

guildMember.addRole('439191493169643521');  

Если вы все еще хотите использовать имя роли, вы можете сделать что-то вроде этого:

const role = message.guild.roles.find('name', 'MyRole');
guildMember.addRole(role);
...