Struct OverwritePermissions
- Namespace
- Kook
- Assembly
- Kook.Net.Core.dll
Represents a container for a series of overwrite permissions.
public struct OverwritePermissions
- Inherited Members
Constructors
OverwritePermissions(PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue, PermValue)
Initializes a new ChannelPermissions struct with the provided permissions.
public OverwritePermissions(PermValue createInvites = PermValue.Inherit, PermValue manageChannels = PermValue.Inherit, PermValue manageRoles = PermValue.Inherit, PermValue viewChannel = PermValue.Inherit, PermValue sendMessages = PermValue.Inherit, PermValue manageMessages = PermValue.Inherit, PermValue attachFiles = PermValue.Inherit, PermValue connect = PermValue.Inherit, PermValue manageVoice = PermValue.Inherit, PermValue mentionEveryone = PermValue.Inherit, PermValue addReactions = PermValue.Inherit, PermValue passiveConnect = PermValue.Inherit, PermValue useVoiceActivity = PermValue.Inherit, PermValue speak = PermValue.Inherit, PermValue deafenMembers = PermValue.Inherit, PermValue muteMembers = PermValue.Inherit, PermValue playSoundtrack = PermValue.Inherit, PermValue shareScreen = PermValue.Inherit)
Parameters
createInvites
PermValuemanageChannels
PermValuemanageRoles
PermValueviewChannel
PermValuesendMessages
PermValuemanageMessages
PermValueattachFiles
PermValueconnect
PermValuemanageVoice
PermValuementionEveryone
PermValueaddReactions
PermValuepassiveConnect
PermValueuseVoiceActivity
PermValuespeak
PermValuedeafenMembers
PermValuemuteMembers
PermValueplaySoundtrack
PermValueshareScreen
PermValue
OverwritePermissions(string, string)
Creates a new OverwritePermissions with the provided allow and deny packed values after converting to ulong.
public OverwritePermissions(string allowValue, string denyValue)
Parameters
OverwritePermissions(ulong, ulong)
Creates a new OverwritePermissions with the provided allow and deny packed values.
public OverwritePermissions(ulong allowValue, ulong denyValue)
Parameters
Properties
AddReactions
If Allowed, a user may add reactions.
public PermValue AddReactions { get; }
Property Value
AllowValue
Gets a packed value representing all the allowed permissions in this OverwritePermissions.
public readonly ulong AllowValue { get; }
Property Value
AttachFiles
If Allowed, a user may send files.
public PermValue AttachFiles { get; }
Property Value
Connect
If Allowed, a user may connect to a voice channel.
public PermValue Connect { get; }
Property Value
CreateInvites
If Allowed, a user may create invites.
public PermValue CreateInvites { get; }
Property Value
DeafenMembers
If Allowed, a user may deafen users.
public PermValue DeafenMembers { get; }
Property Value
DenyValue
Gets a packed value representing all the denied permissions in this OverwritePermissions.
public readonly ulong DenyValue { get; }
Property Value
InheritAll
Gets a blank OverwritePermissions that inherits all permissions.
public static OverwritePermissions InheritAll { get; }
Property Value
ManageChannels
If Allowed, a user may create, delete and modify channels.
public PermValue ManageChannels { get; }
Property Value
ManageMessages
If Allowed, a user may delete messages.
public PermValue ManageMessages { get; }
Property Value
ManageRoles
If Allowed, a user may adjust roles.
public PermValue ManageRoles { get; }
Property Value
ManageVoice
If Allowed, a user may kick other users from voice channels, and move other users between voice channels.
public PermValue ManageVoice { get; }
Property Value
MentionEveryone
If Allowed, a user may mention all users.
public PermValue MentionEveryone { get; }
Property Value
MuteMembers
If Allowed, a user may mute users.
public PermValue MuteMembers { get; }
Property Value
PassiveConnect
If Allowed, a user may connect to a voice channel only when the user is invited or moved by other users.
public PermValue PassiveConnect { get; }
Property Value
PlaySoundtrack
If Allowed, a user may play soundtracks in a voice channel.
public PermValue PlaySoundtrack { get; }
Property Value
SendMessages
If Allowed, a user may send messages.
public PermValue SendMessages { get; }
Property Value
ShareScreen
If Allowed, a user may share screen in a voice channel.
public PermValue ShareScreen { get; }
Property Value
Speak
If Allowed, a user may speak in a voice channel.
public PermValue Speak { get; }
Property Value
UseVoiceActivity
If Allowed, a user may use voice activation.
public PermValue UseVoiceActivity { get; }
Property Value
ViewChannel
If Allowed, a user may view channels.
public PermValue ViewChannel { get; }
Property Value
Methods
AllowAll(IChannel)
Gets a OverwritePermissions that grants all permissions for the given channel.
public static OverwritePermissions AllowAll(IChannel channel)
Parameters
channel
IChannel
Returns
Exceptions
- ArgumentException
Unknown channel type.
DenyAll(IChannel)
Gets a OverwritePermissions that denies all permissions for the given channel.
public static OverwritePermissions DenyAll(IChannel channel)
Parameters
channel
IChannel
Returns
Exceptions
- ArgumentException
Unknown channel type.
Modify(PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?, PermValue?)
Initializes a new OverwritePermissions from the current one, changing the provided non-null permissions.
public OverwritePermissions Modify(PermValue? createInvites = null, PermValue? manageChannels = null, PermValue? manageRoles = null, PermValue? viewChannel = null, PermValue? sendMessages = null, PermValue? manageMessages = null, PermValue? attachFiles = null, PermValue? connect = null, PermValue? manageVoice = null, PermValue? mentionEveryone = null, PermValue? addReactions = null, PermValue? passiveConnect = null, PermValue? useVoiceActivity = null, PermValue? speak = null, PermValue? deafenMembers = null, PermValue? muteMembers = null, PermValue? playSoundtrack = null, PermValue? shareScreen = null)
Parameters
createInvites
PermValue?manageChannels
PermValue?manageRoles
PermValue?viewChannel
PermValue?sendMessages
PermValue?manageMessages
PermValue?attachFiles
PermValue?connect
PermValue?manageVoice
PermValue?mentionEveryone
PermValue?addReactions
PermValue?passiveConnect
PermValue?useVoiceActivity
PermValue?speak
PermValue?deafenMembers
PermValue?muteMembers
PermValue?playSoundtrack
PermValue?shareScreen
PermValue?
Returns
ToAllowList()
Creates a List<T> of all the ChannelPermission values that are allowed.
public List<ChannelPermission> ToAllowList()
Returns
- List<ChannelPermission>
A List<T> of all allowed ChannelPermission flags. If none, the list will be empty.
ToDenyList()
Creates a List<T> of all the ChannelPermission values that are denied.
public List<ChannelPermission> ToDenyList()
Returns
- List<ChannelPermission>
A List<T> of all denied ChannelPermission flags. If none, the list will be empty.
ToString()
Returns the fully qualified type name of this instance.
public override string ToString()
Returns
- string
The fully qualified type name.