public ChannelTriStatePermissions(ChannelTriStatePermissions basePerms, PermValue?createInstantInvite = null, PermValue?managePermissions = null, PermValue?manageChannel = null, PermValue?readMessages = null, PermValue?sendMessages = null, PermValue?sendTTSMessages = null, PermValue?manageMessages = null, PermValue?embedLinks = null, PermValue?attachFiles = null, PermValue?readMessageHistory = null, PermValue?mentionEveryone = null, PermValue?connect = null, PermValue?speak = null, PermValue?muteMembers = null, PermValue?deafenMembers = null, PermValue?moveMembers = null, PermValue?useVoiceActivation = null) { uint allow = basePerms.AllowValue, deny = basePerms.DenyValue; PermissionsHelper.SetValue(ref allow, ref deny, createInstantInvite, PermissionBits.CreateInstantInvite); PermissionsHelper.SetValue(ref allow, ref deny, managePermissions, PermissionBits.ManageRolesOrPermissions); PermissionsHelper.SetValue(ref allow, ref deny, manageChannel, PermissionBits.ManageChannel); PermissionsHelper.SetValue(ref allow, ref deny, readMessages, PermissionBits.ReadMessages); PermissionsHelper.SetValue(ref allow, ref deny, sendMessages, PermissionBits.SendMessages); PermissionsHelper.SetValue(ref allow, ref deny, sendTTSMessages, PermissionBits.SendTTSMessages); PermissionsHelper.SetValue(ref allow, ref deny, manageMessages, PermissionBits.ManageMessages); PermissionsHelper.SetValue(ref allow, ref deny, embedLinks, PermissionBits.EmbedLinks); PermissionsHelper.SetValue(ref allow, ref deny, attachFiles, PermissionBits.AttachFiles); PermissionsHelper.SetValue(ref allow, ref deny, readMessageHistory, PermissionBits.ReadMessageHistory); PermissionsHelper.SetValue(ref allow, ref deny, mentionEveryone, PermissionBits.MentionEveryone); PermissionsHelper.SetValue(ref allow, ref deny, connect, PermissionBits.Connect); PermissionsHelper.SetValue(ref allow, ref deny, speak, PermissionBits.Speak); PermissionsHelper.SetValue(ref allow, ref deny, muteMembers, PermissionBits.MuteMembers); PermissionsHelper.SetValue(ref allow, ref deny, deafenMembers, PermissionBits.DeafenMembers); PermissionsHelper.SetValue(ref allow, ref deny, moveMembers, PermissionBits.MoveMembers); PermissionsHelper.SetValue(ref allow, ref deny, useVoiceActivation, PermissionBits.UseVoiceActivation); AllowValue = allow; DenyValue = deny; }
public Task AddOrUpdateOverwrite(Role role, ChannelTriStatePermissions permissions) { if (role == null) { throw new ArgumentNullException(nameof(role)); } return(AddOrUpdateOverwrite(role.Id, PermissionTarget.Role, permissions)); }
public Task AddOrUpdateOverwrite(User user, ChannelTriStatePermissions permissions) { if (user == null) { throw new ArgumentNullException(nameof(user)); } return(AddOrUpdateOverwrite(user.Id, PermissionTarget.User, permissions)); }
private Task AddOrUpdateOverwrite(ulong id, PermissionTarget type, ChannelTriStatePermissions permissions) { var request = new AddOrUpdateChannelPermissionsRequest(id) { TargetId = id, TargetType = EnumConverters.ToString(type), Allow = permissions.AllowValue, Deny = permissions.DenyValue }; return(_channel.Client.ClientAPI.Send(request)); }
internal PermissionRule(PermissionTarget targetType, ulong targetId, uint allow, uint deny) { TargetType = targetType; TargetId = targetId; Permissions = new ChannelTriStatePermissions(allow, deny); }
public Task AddOrUpdatePermissionsRule(Role role, ChannelTriStatePermissions permissions) => _permissions.AddOrUpdateOverwrite(role, permissions);
public Task AddOrUpdatePermissionsRule(User user, ChannelTriStatePermissions permissions) => _permissions.AddOrUpdateOverwrite(user, permissions);