Discord.js v12中的role.setPosition()

时间:2020-10-09 21:48:38

标签: discord discord.js

在Discord.js v11中,您可以使用guild.setRolePosition({ role: '123456789012345678', position: 1 });来设置特定角色的位置。您如何使用新的role.setPosition()方法指定角色(如“静音”)?它似乎只接受职位编号和一些选项,例如options.relative。我想要的是在roleCreate()事件中为角色Admin,Friends,Muted分配角色位置。我知道roleCreate事件仅在创建角色时运行,但是以某种方式'position'参数不能与guild.roles.create一起使用。

1 个答案:

答案 0 :(得分:0)

GuildRoleManager.create()实际上可以与position参数配合使用,您只需将其ass属性添加到数据对象即可。

guild.roles.create({
  data: {
    name: 'Role Name',
    // any other options...
    position: 1
  },
});

如果您仍然想使用role.setPosition(),则必须事先获取角色对象,然后在该对象上调用方法。

// <guild> is a placeholder for the guild object

// get the role by id
const role = <guild>.roles.cache.get('Role ID');

// get role by name (or other property)
const role = <guild>.roles.cache.find((role) => role.name === 'Role Name');

role.setPosition(1);