Discord.js v12中的role.setPosition()

Discord.js v12中的role.setPosition(),discord,discord.js,Discord,Discord.js,在Discord.jsv11中,您可以使用guild.setRolePosition({role:'1234567890121345678',position:1})设置特定角色的位置。如何使用新方法指定角色(例如“静音”)?它似乎只接受一个职位编号和一些选项,如options.relative。我想要的是将角色位置分配给事件中禁用的角色Admin、Friends和roles。我知道roleCreate事件仅在创建角色时运行,但不知何故,“position”参数不能很好地使用。实际上可以很好地使

在Discord.jsv11中,您可以使用
guild.setRolePosition({role:'1234567890121345678',position:1})
设置特定角色的位置。如何使用新方法指定角色(例如“静音”)?它似乎只接受一个职位编号和一些选项,如
options.relative
。我想要的是将角色位置分配给事件中禁用的角色Admin、Friends和roles。我知道roleCreate事件仅在创建角色时运行,但不知何故,“position”参数不能很好地使用。

实际上可以很好地使用
position
参数,您只需将其作为属性添加到数据对象中即可

guild.roles.create({
数据:{
名称:'角色名称',
//还有其他选择吗。。。
职位:1
},
});
如果仍要使用,则必须先获取角色对象,然后调用该对象上的方法

//是公会对象的占位符
//通过id获取角色
const role=.roles.cache.get('role ID');
//按名称(或其他属性)获取角色
const role=.roles.cache.find((role)=>role.name==='role name');
角色设置位置(1);

谢谢您的回答。然而,我尝试了这个,但它仍然给我一个错误。这与我在GuildManager.create()中使用position参数时遇到的错误相同。所以我猜角色扮演法也不管用。如果您想知道我是如何使用GuildManager.create()的,几天前我已经问了一个问题。你可以在这里找到:这是不可能的,因为机器人无法将角色的位置设置为高于自身的位置。是的,你是对的,但我希望管理员角色出现在机器人之后。那就是。。。位置2?然后静音的角色将是3,等等。但这似乎不起作用,并给出了错误。如果我把数字调高,就会把顺序弄乱。我不知道该怎么办了(