Table of Contents

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 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

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

allowValue string
denyValue string

OverwritePermissions(ulong, ulong)

Creates a new OverwritePermissions with the provided allow and deny packed values.

public OverwritePermissions(ulong allowValue, ulong denyValue)

Parameters

allowValue ulong
denyValue ulong

Properties

AddReactions

If Allowed, a user may add reactions.

public PermValue AddReactions { get; }

Property Value

PermValue

AllowValue

Gets a packed value representing all the allowed permissions in this OverwritePermissions.

public readonly ulong AllowValue { get; }

Property Value

ulong

AttachFiles

If Allowed, a user may send files.

public PermValue AttachFiles { get; }

Property Value

PermValue

Connect

If Allowed, a user may connect to a voice channel.

public PermValue Connect { get; }

Property Value

PermValue

CreateInvites

If Allowed, a user may create invites.

public PermValue CreateInvites { get; }

Property Value

PermValue

DeafenMembers

If Allowed, a user may deafen users.

public PermValue DeafenMembers { get; }

Property Value

PermValue

DenyValue

Gets a packed value representing all the denied permissions in this OverwritePermissions.

public readonly ulong DenyValue { get; }

Property Value

ulong

InheritAll

Gets a blank OverwritePermissions that inherits all permissions.

public static OverwritePermissions InheritAll { get; }

Property Value

OverwritePermissions

ManageChannels

If Allowed, a user may create, delete and modify channels.

public PermValue ManageChannels { get; }

Property Value

PermValue

ManageMessages

If Allowed, a user may delete messages.

public PermValue ManageMessages { get; }

Property Value

PermValue

ManageRoles

If Allowed, a user may adjust roles.

public PermValue ManageRoles { get; }

Property Value

PermValue

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

PermValue

MentionEveryone

If Allowed, a user may mention all users.

public PermValue MentionEveryone { get; }

Property Value

PermValue

MuteMembers

If Allowed, a user may mute users.

public PermValue MuteMembers { get; }

Property Value

PermValue

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

PermValue

PlaySoundtrack

If Allowed, a user may play soundtracks in a voice channel.

public PermValue PlaySoundtrack { get; }

Property Value

PermValue

SendMessages

If Allowed, a user may send messages.

public PermValue SendMessages { get; }

Property Value

PermValue

ShareScreen

If Allowed, a user may share screen in a voice channel.

public PermValue ShareScreen { get; }

Property Value

PermValue

Speak

If Allowed, a user may speak in a voice channel.

public PermValue Speak { get; }

Property Value

PermValue

UseVoiceActivity

If Allowed, a user may use voice activation.

public PermValue UseVoiceActivity { get; }

Property Value

PermValue

ViewChannel

If Allowed, a user may view channels.

public PermValue ViewChannel { get; }

Property Value

PermValue

Methods

AllowAll(IChannel)

Gets a OverwritePermissions that grants all permissions for the given channel.

public static OverwritePermissions AllowAll(IChannel channel)

Parameters

channel IChannel

Returns

OverwritePermissions

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

OverwritePermissions

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

OverwritePermissions

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.