Show / Hide Table of Contents

# Struct ChannelPermissions

##### Inherited Members

System.ValueType.Equals(System.Object)
System.ValueType.GetHashCode()
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetType()

###### Namespace: Discord

###### Assembly: Discord.Net.Core.dll

##### Syntax

    public struct ChannelPermissions

### Constructors

| Improve this Doc View Source

#### ChannelPermissions(Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)

Creates a new ChannelPermissions with the provided permissions.

##### Declaration

    public ChannelPermissions(bool createInstantInvite = false, bool manageChannel = false, bool addReactions = false, bool viewChannel = false, bool sendMessages = false, bool sendTTSMessages = false, bool manageMessages = false, bool embedLinks = false, bool attachFiles = false, bool readMessageHistory = false, bool mentionEveryone = false, bool useExternalEmojis = false, bool connect = false, bool speak = false, bool muteMembers = false, bool deafenMembers = false, bool moveMembers = false, bool useVoiceActivation = false, bool prioritySpeaker = false, bool stream = false, bool manageRoles = false, bool manageWebhooks = false)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | createInstantInvite |
System.Boolean | manageChannel |
System.Boolean | addReactions |
System.Boolean | viewChannel |
System.Boolean | sendMessages |
System.Boolean | sendTTSMessages |
System.Boolean | manageMessages |
System.Boolean | embedLinks |
System.Boolean | attachFiles |
System.Boolean | readMessageHistory |
System.Boolean | mentionEveryone |
System.Boolean | useExternalEmojis |
System.Boolean | connect |
System.Boolean | speak |
System.Boolean | muteMembers |
System.Boolean | deafenMembers |
System.Boolean | moveMembers |
System.Boolean | useVoiceActivation |
System.Boolean | prioritySpeaker |
System.Boolean | stream |
System.Boolean | manageRoles |
System.Boolean | manageWebhooks |

| Improve this Doc View Source

#### ChannelPermissions(UInt64)

Creates a new ChannelPermissions with the provided packed value.

##### Declaration

    public ChannelPermissions(ulong rawValue)

##### Parameters

Type | Name | Description
--- | --- | ---
System.UInt64 | rawValue |

### Fields

| Improve this Doc View Source

#### Category

Gets a ChannelPermissions that grants all permissions for category channels.

##### Declaration

    public static readonly ChannelPermissions Category

##### Field Value

Type | Description
--- | ---
ChannelPermissions |

| Improve this Doc View Source

#### DM

Gets a ChannelPermissions that grants all permissions for direct message channels.

##### Declaration

    public static readonly ChannelPermissions DM

##### Field Value

Type | Description
--- | ---
ChannelPermissions |

| Improve this Doc View Source

#### Group

Gets a ChannelPermissions that grants all permissions for group channels.

##### Declaration

    public static readonly ChannelPermissions Group

##### Field Value

Type | Description
--- | ---
ChannelPermissions |

| Improve this Doc View Source

#### None

Gets a blank ChannelPermissions that grants no permissions.

##### Declaration

    public static readonly ChannelPermissions None

##### Field Value

Type | Description
--- | ---
ChannelPermissions | A ChannelPermissions structure that does not contain any set permissions.

| Improve this Doc View Source

#### Text

Gets a ChannelPermissions that grants all permissions for text channels.

##### Declaration

    public static readonly ChannelPermissions Text

##### Field Value

Type | Description
--- | ---
ChannelPermissions |

| Improve this Doc View Source

#### Voice

Gets a ChannelPermissions that grants all permissions for voice channels.

##### Declaration

    public static readonly ChannelPermissions Voice

##### Field Value

Type | Description
--- | ---
ChannelPermissions |

### Properties

| Improve this Doc View Source

#### AddReactions

If `true`, a user may add reactions.

##### Declaration

    public bool AddReactions { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### AttachFiles

If `true`, a user may send files.

##### Declaration

    public bool AttachFiles { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### Connect

If `true`, a user may connect to a voice channel.

##### Declaration

    public bool Connect { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### CreateInstantInvite

If `true`, a user may create invites.

##### Declaration

    public bool CreateInstantInvite { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### DeafenMembers

If `true`, a user may deafen users.

##### Declaration

    public bool DeafenMembers { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### EmbedLinks

If `true`, Discord will auto-embed links sent by this user.

##### Declaration

    public bool EmbedLinks { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### ManageChannel

If `true`, a user may create, delete and modify this channel.

##### Declaration

    public bool ManageChannel { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### ManageMessages

If `true`, a user may delete messages.

##### Declaration

    public bool ManageMessages { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### ManageRoles

If `true`, a user may adjust role permissions. This also implictly grants all other permissions.

##### Declaration

    public bool ManageRoles { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### ManageWebhooks

If `true`, a user may edit the webhooks for this channel.

##### Declaration

    public bool ManageWebhooks { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### MentionEveryone

If `true`, a user may mention @everyone.

##### Declaration

    public bool MentionEveryone { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### MoveMembers

If `true`, a user may move other users between voice channels.

##### Declaration

    public bool MoveMembers { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### MuteMembers

If `true`, a user may mute users.

##### Declaration

    public bool MuteMembers { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### PrioritySpeaker

If `true`, a user may use priority speaker in a voice channel.

##### Declaration

    public bool PrioritySpeaker { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### RawValue

Gets a packed value representing all the permissions in this ChannelPermissions.

##### Declaration

    public ulong RawValue { get; }

##### Property Value

Type | Description
--- | ---
System.UInt64 |

| Improve this Doc View Source

#### ReadMessageHistory

If `true`, a user may read previous messages.

##### Declaration

    public bool ReadMessageHistory { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### ReadMessages

If `true`, a user may join channels.

##### Declaration

    [Obsolete("Use ViewChannel instead.")]
    public bool ReadMessages { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### SendMessages

If `true`, a user may send messages.

##### Declaration

    public bool SendMessages { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### SendTTSMessages

If `true`, a user may send text-to-speech messages.

##### Declaration

    public bool SendTTSMessages { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### Speak

If `true`, a user may speak in a voice channel.

##### Declaration

    public bool Speak { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### Stream

If `true`, a user may stream video in a voice channel.

##### Declaration

    public bool Stream { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### UseExternalEmojis

If `true`, a user may use custom emoji from other guilds.

##### Declaration

    public bool UseExternalEmojis { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### UseVAD

If `true`, a user may use voice-activity-detection rather than push-to-talk.

##### Declaration

    public bool UseVAD { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### ViewChannel

If `true`, a user may view channels.

##### Declaration

    public bool ViewChannel { get; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

### Methods

| Improve this Doc View Source

#### All(IChannel)

Gets a ChannelPermissions that grants all permissions for a given channel type.

##### Declaration

    public static ChannelPermissions All(IChannel channel)

##### Parameters

Type | Name | Description
--- | --- | ---
IChannel | channel |

##### Returns

Type | Description
--- | ---
ChannelPermissions |

##### Exceptions

Type | Condition
--- | ---
System.ArgumentException | Unknown channel type.

| Improve this Doc View Source

#### Has(ChannelPermission)

##### Declaration

    public bool Has(ChannelPermission permission)

##### Parameters

Type | Name | Description
--- | --- | ---
ChannelPermission | permission |

##### Returns

Type | Description
--- | ---
System.Boolean |

| Improve this Doc View Source

#### Modify(Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>)

Creates a new ChannelPermissions from this one, changing the provided non-null permissions.

##### Declaration

    public ChannelPermissions Modify(bool? createInstantInvite = default(bool? ), bool? manageChannel = default(bool? ), bool? addReactions = default(bool? ), bool? viewChannel = default(bool? ), bool? sendMessages = default(bool? ), bool? sendTTSMessages = default(bool? ), bool? manageMessages = default(bool? ), bool? embedLinks = default(bool? ), bool? attachFiles = default(bool? ), bool? readMessageHistory = default(bool? ), bool? mentionEveryone = default(bool? ), bool? useExternalEmojis = default(bool? ), bool? connect = default(bool? ), bool? speak = default(bool? ), bool? muteMembers = default(bool? ), bool? deafenMembers = default(bool? ), bool? moveMembers = default(bool? ), bool? useVoiceActivation = default(bool? ), bool? prioritySpeaker = default(bool? ), bool? stream = default(bool? ), bool? manageRoles = default(bool? ), bool? manageWebhooks = default(bool? ))

##### Parameters

Type | Name | Description
--- | --- | ---
System.Nullable<System.Boolean> | createInstantInvite |
System.Nullable<System.Boolean> | manageChannel |
System.Nullable<System.Boolean> | addReactions |
System.Nullable<System.Boolean> | viewChannel |
System.Nullable<System.Boolean> | sendMessages |
System.Nullable<System.Boolean> | sendTTSMessages |
System.Nullable<System.Boolean> | manageMessages |
System.Nullable<System.Boolean> | embedLinks |
System.Nullable<System.Boolean> | attachFiles |
System.Nullable<System.Boolean> | readMessageHistory |
System.Nullable<System.Boolean> | mentionEveryone |
System.Nullable<System.Boolean> | useExternalEmojis |
System.Nullable<System.Boolean> | connect |
System.Nullable<System.Boolean> | speak |
System.Nullable<System.Boolean> | muteMembers |
System.Nullable<System.Boolean> | deafenMembers |
System.Nullable<System.Boolean> | moveMembers |
System.Nullable<System.Boolean> | useVoiceActivation |
System.Nullable<System.Boolean> | prioritySpeaker |
System.Nullable<System.Boolean> | stream |
System.Nullable<System.Boolean> | manageRoles |
System.Nullable<System.Boolean> | manageWebhooks |

##### Returns

Type | Description
--- | ---
ChannelPermissions |

| Improve this Doc View Source

#### ToList()

##### Declaration

    public List<ChannelPermission> ToList()

##### Returns

Type | Description
--- | ---
System.Collections.Generic.List<ChannelPermission> |

| Improve this Doc View Source

#### ToString()

##### Declaration

    public override string ToString()

##### Returns

Type | Description
--- | ---
System.String |

##### Overrides

System.ValueType.ToString()