Esempio n. 1
0
        /// <summary>
        /// Edit the channel permission overwrites for a user or role in a channel.
        /// Only usable for guild channels.
        /// Requires the MANAGE_ROLES permission.
        /// See <a href="https://discord.com/developers/docs/resources/channel#edit-channel-permissions">Edit Channel Permissions</a>
        /// </summary>
        /// <param name="client">Client to use</param>
        /// <param name="overwriteId">ID of the overwrite to edit</param>
        /// <param name="allow">Allow Permission Flags</param>
        /// <param name="deny">Deny Permission Flags</param>
        /// <param name="type">Permission Type Flag</param>
        /// <param name="callback">Callback once the action is complete</param>
        /// <param name="error">Callback when an error occurs with error information</param>
        public void EditChannelPermissions(DiscordClient client, Snowflake overwriteId, PermissionFlags?allow, PermissionFlags?deny, PermissionType type, Action callback = null, Action <RestError> error = null)
        {
            Overwrite overwrite = new Overwrite
            {
                Id    = overwriteId,
                Type  = type,
                Allow = allow,
                Deny  = deny
            };

            EditChannelPermissions(client, overwrite, callback, error);
        }
Esempio n. 2
0
        /// <summary>
        /// Edit the channel permission overwrites for a user or role in a channel.
        /// Only usable for guild channels.
        /// Requires the MANAGE_ROLES permission.
        /// See <a href="https://discord.com/developers/docs/resources/channel#edit-channel-permissions">Edit Channel Permissions</a>
        /// </summary>
        /// <param name="client">Client to use</param>
        /// <param name="overwriteId">ID of the overwrite to edit</param>
        /// <param name="allow">Allow Permission Flags</param>
        /// <param name="deny">Deny Permission Flags</param>
        /// <param name="type">Permission Type Flag</param>
        /// <param name="callback">Callback once the action is complete</param>
        /// <param name="error">Callback when an error occurs with error information</param>
        public void EditChannelPermissions(DiscordClient client, Snowflake overwriteId, PermissionFlags?allow, PermissionFlags?deny, PermissionType type, Action callback = null, Action <RestError> error = null)
        {
            if (!overwriteId.IsValid())
            {
                throw new InvalidSnowflakeException(nameof(overwriteId));
            }
            Overwrite overwrite = new Overwrite
            {
                Id    = overwriteId,
                Type  = type,
                Allow = allow,
                Deny  = deny
            };

            EditChannelPermissions(client, overwrite, callback, error);
        }
Esempio n. 3
0
 /// <summary>
 /// Delete a channel permission overwrite for a user or role in a channel.
 /// Only usable for guild channels.
 /// Requires the MANAGE_ROLES permission.
 /// See <a href="https://discord.com/developers/docs/resources/channel#delete-channel-permission">Delete Channel Permission</a>
 /// </summary>
 /// <param name="client">Client to use</param>
 /// <param name="overwrite">Overwrite to delete</param>
 /// <param name="callback">Callback once the action is completed</param>
 /// <param name="error">Callback when an error occurs with error information</param>
 public void DeleteChannelPermission(DiscordClient client, Overwrite overwrite, Action callback = null, Action <RestError> error = null) => DeleteChannelPermission(client, overwrite.Id, callback, error);
Esempio n. 4
0
 /// <summary>
 /// Edit the channel permission overwrites for a user or role in a channel.
 /// Only usable for guild channels.
 /// Requires the MANAGE_ROLES permission.
 /// See <a href="https://discord.com/developers/docs/resources/channel#edit-channel-permissions">Edit Channel Permissions</a>
 /// </summary>
 /// <param name="client">Client to use</param>
 /// <param name="overwrite">Overwrite to edit with changes</param>
 /// <param name="callback">Callback once the action is complete</param>
 /// <param name="error">Callback when an error occurs with error information</param>
 public void EditChannelPermissions(DiscordClient client, Overwrite overwrite, Action callback = null, Action <RestError> error = null)
 {
     client.Bot.Rest.DoRequest($"/channels/{Id}/permissions/{overwrite.Id}", RequestMethod.PUT, overwrite, callback, error);
 }