Итак, у меня возникли проблемы с настройкой бота, который назначал пользователю роль, включающую смайлики. Пример:
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.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Supplied parameter was neither a Role nor a Snowflake.
Что ж, ?Fox не является ролевым объектом и не является снежинкой (ID) .
Для добавления роли нужен либо Объект, либо ID.
Если вы хотите использовать идентификатор, вам нужно будет сделать роль упоминаемой, а затем избежать упоминания \@MyRole, затем просто скопируйте идентификатор (это только числа) и используйте его:
guildMember.addRole('439191493169643521');
Если вы все равно хотите использовать имя роли, вы можете сделать что-то вроде этого:
const role = message.guild.roles.find('name', 'MyRole');
guildMember.addRole(role);
Забыл добавить: я добавил «roblox» в качестве тега, потому что я тоже использую для этого
npm roblox-js.