我正在尝试覆盖频道权限。我需要一个存储在变量中的角色ID。我将如何获得这个新角色的ID?我已经坚持了好几天。
我尝试了以下操作:
const guild = client.guilds.get("server_id_here");
const role = guild.roles.find("name", `${name}`); // This gets the role I need
// Further down a bit to where the ID is required:
channel.permissionOverwrites({
overwrites: [{
id: role.id,
allowed: ['CONNECT', 'VIEW_CHANNEL'],
}],
reason: 'Updating so the channel is private'
});
我尝试了其他操作,例如guild.role.id
或role.id
,但它们都不起作用。
答案 0 :(得分:1)
array.prototype.find('name', 'name')
已过时,通常效率不高。您可能想尝试类似let role = guild.roles.find(r => r.name === 'rolename')
之类的方法,然后使用该变量可以说id: role.id
,前提是您提供了有效的角色。