向不和谐成员添加角色

时间:2020-10-29 22:55:17

标签: javascript node.js discord.js

几天前它没有给出错误,现在却奇怪地给出了错误。

添加代码以添加或删除角色时,出现此错误。

我的代码:

let member = message.mentions.members.first();
let role = message.guild.roles.get("707628035498836069");
let role1 = message.guild.roles.get("769919065551929385");

member.addRole(role);
member.removeRole(role1);

错误代码:

(node:16668) UnhandledPromiseRejectionWarning: TypeError: Supplied parameter was neither a Role nor a Snowflake.
    at GuildMember.removeRole (C:\Users\user\Desktop\discordjssss\node_modules\discord.js\src\structures\GuildMember.js:516:38)
    at Object.module.exports.baslat (C:\Users\user\Desktop\discordjssss\komutlar\genel\jaildenm.js:22:10)
    at AdvancedClient.<anonymous> (C:\Users\user\Desktop\discordjssss\node_modules\discordjs-advanced\src\client.js:549:5)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:16668) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:16668) [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 :(得分:0)

在discord.js v.12中,您需要使用稍微不同的语法来查找和添加角色。

您可以通过访问新的cache对象来找到角色。

message.guild.roles.cache.get('your ID here');

您现在在GuildMemberRoleManager中添加或删除角色。

member.roles.add(role here);
member.roles.remove(role here);

需要说明的是,您不需要首先获取角色对象。您可以简单地使用ID。但是,如果首先获得该角色,则可以检查该角色是否确实存在。但这既不是这里也不是那里。

注意:您最初的问题是找不到您的角色。是因为角色不存在或ID错误。