Table of Contents

Class SocketStageChannel

Namespace
Discord.WebSocket
Assembly
Discord.Net.WebSocket.dll

Represents a stage channel received over the gateway.

public class SocketStageChannel : SocketVoiceChannel, ISocketMessageChannel, ISocketAudioChannel, IStageChannel, IVoiceChannel, ITextChannel, IMessageChannel, IMentionable, INestedChannel, IIntegrationChannel, IGuildChannel, IDeletable, IAudioChannel, IChannel, ISnowflakeEntity, IEntity<ulong>
Inheritance
SocketStageChannel
Implements
Inherited Members
Extension Methods

Properties

IsDiscoverableDisabled

Gets whether or not stage discovery is disabled.

public bool? IsDiscoverableDisabled { get; }

Property Value

bool?

IsLive

Gets whether or not the stage is live.

public bool IsLive { get; }

Property Value

bool

IsSpeaker

Returns true if the current user is a speaker within the stage, otherwise false.

public bool IsSpeaker { get; }

Property Value

bool

IsTextInVoice

Gets whether or not the guild has Text-In-Voice enabled and the voice channel is a TiV channel.

[Obsolete("This property is no longer used because Discord enabled text-in-stage for all channels.")]
public override bool IsTextInVoice { get; }

Property Value

bool

Remarks

Discord currently doesn't have a way to disable Text-In-Voice yet so this field is always true on SocketVoiceChannels and true on SocketStageChannels.

PrivacyLevel

Gets the StagePrivacyLevel of the current stage.

public StagePrivacyLevel? PrivacyLevel { get; }

Property Value

StagePrivacyLevel?

Remarks

If the stage isn't live then this property will be set to null.

Speakers

Gets a collection of users who are speakers within the stage.

public IReadOnlyCollection<SocketGuildUser> Speakers { get; }

Property Value

IReadOnlyCollection<SocketGuildUser>

Status

Gets the voice channel status set in this channel. null if it is not set.

public override string Status { get; }

Property Value

string

Remarks

This property is not supported in stage channels and will always return Empty.

Methods

BecomeSpeakerAsync(RequestOptions)

Makes the current user become a speaker within a stage.

public Task BecomeSpeakerAsync(RequestOptions options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous speaker modify operation.

ModifyInstanceAsync(Action<StageInstanceProperties>, RequestOptions)

Modifies the current stage instance.

public Task ModifyInstanceAsync(Action<StageInstanceProperties> func, RequestOptions options = null)

Parameters

func Action<StageInstanceProperties>

The properties to modify the stage instance with.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous modify operation.

MoveToSpeakerAsync(IGuildUser, RequestOptions)

Makes a user a speaker within a stage.

public Task MoveToSpeakerAsync(IGuildUser user, RequestOptions options = null)

Parameters

user IGuildUser

The user to make the speaker.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous move operation.

RemoveFromSpeakerAsync(IGuildUser, RequestOptions)

Removes a user from speaking.

public Task RemoveFromSpeakerAsync(IGuildUser user, RequestOptions options = null)

Parameters

user IGuildUser

The user to remove from speaking.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous remove operation.

RequestToSpeakAsync(RequestOptions)

Indicates that the bot would like to speak within a stage channel.

public Task RequestToSpeakAsync(RequestOptions options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous request to speak operation.

SetStatusAsync(string, RequestOptions)

Sets the voice channel status in the current channel.

public override Task SetStatusAsync(string status, RequestOptions options = null)

Parameters

status string

The string to set as status.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous modification operation.

Remarks

Setting voice channel status is not supported in stage channels.

Exceptions

NotSupportedException

Setting voice channel status is not supported in stage channels.

StartStageAsync(string, StagePrivacyLevel, RequestOptions)

Starts the stage, creating a stage instance.

public Task StartStageAsync(string topic, StagePrivacyLevel privacyLevel = StagePrivacyLevel.GuildOnly, RequestOptions options = null)

Parameters

topic string

The topic for the stage/

privacyLevel StagePrivacyLevel

The privacy level of the stage.

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous start operation.

StopSpeakingAsync(RequestOptions)

Makes the current user a listener.

public Task StopSpeakingAsync(RequestOptions options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous stop operation.

StopStageAsync(RequestOptions)

Stops the stage, deleting the stage instance.

public Task StopStageAsync(RequestOptions options = null)

Parameters

options RequestOptions

The options to be used when sending the request.

Returns

Task

A task that represents the asynchronous stop operation.