Свойство Permissions
в IRole имеет только геттер, что означает, что вы не можете устанавливать объекты Permissions или какие-либо свойства в объекте Permissions
после его создания. Вы можете получить данные только от объекта. Вы можете видеть на изображении ниже:
Определение IRole
Функция CreateRoleAsync
имеет параметр GuildPermissions (который является вторым параметром), который вы можете передать пользовательскому GuildPermissions объект в. При создании нового экземпляра GuildPermissions вам нужно будет использовать конструктор, который принимает около 20 параметров, которые устанавливают разные права доступа.
Вот пример кода:
public void CreateRoleWithCustomPermissions()
{
var myCustomPermissions = new GuildPermissions(false,
false,
false,
false,
false,
false,
false,
false,
false, // this one is for sendMessages
false,
false,
false,
false,
false,
true,
false,
false,
true,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false);
var role = await Context.Guild.CreateRoleAsync("Muted", myCustomPermissions);
}