public static ModifyRoleJsonRestRequestContent ToContent(this Action <ModifyRoleActionProperties> action, out Optional <int> position)
        {
            Guard.IsNotNull(action);

            var properties = new ModifyRoleActionProperties();

            action(properties);

            var content = new ModifyRoleJsonRestRequestContent
            {
                Name         = properties.Name,
                Permissions  = Optional.Convert(properties.Permissions, permissions => permissions.RawValue),
                Color        = Optional.Convert(properties.Color, color => color?.RawValue ?? 0),
                Hoist        = properties.IsHoisted,
                Icon         = properties.Icon,
                Mentionable  = properties.IsMentionable,
                UnicodeEmoji = Optional.Convert(properties.UnicodeEmoji, emoji => emoji.Name)
            };

            position = properties.Position;

            return(content);
        }
Пример #2
0
        public static Task <RoleJsonModel> ModifyRoleAsync(this IRestApiClient client, Snowflake guildId, Snowflake roleId, ModifyRoleJsonRestRequestContent content, IRestRequestOptions options = null)
        {
            var route = Format(Route.Guild.ModifyRole, guildId, roleId);

            return(client.ExecuteAsync <RoleJsonModel>(route, content, options));
        }