Show / Hide Table of Contents

Class RestGroupChannel

Represents a REST-based group-message channel.

Inheritance
System.Object
RestEntity<System.UInt64>
RestChannel
RestGroupChannel
Implements
IUpdateable
IGroupChannel
IRestPrivateChannel
IPrivateChannel
IRestMessageChannel
IMessageChannel
IRestAudioChannel
IAudioChannel
IChannel
ISnowflakeEntity
IEntity<System.UInt64>
Inherited Members
RestChannel.CreatedAt
RestChannel.IChannel.Name
RestEntity<UInt64>.Id
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Discord.Rest
Assembly: Discord.Net.Rest.dll
Syntax
public class RestGroupChannel : RestChannel, IUpdateable, IGroupChannel, IRestPrivateChannel, IPrivateChannel, IRestMessageChannel, IMessageChannel, IRestAudioChannel, IAudioChannel, IChannel, ISnowflakeEntity, IEntity<ulong>

Properties

| Improve this Doc View Source

Name

Gets the name of this channel.

Declaration
public string Name { get; }
Property Value
Type Description
System.String

A string containing the name of this channel.

| Improve this Doc View Source

Recipients

Declaration
public IReadOnlyCollection<RestGroupUser> Recipients { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyCollection<RestGroupUser>
| Improve this Doc View Source

Users

Declaration
public IReadOnlyCollection<RestGroupUser> Users { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyCollection<RestGroupUser>

Methods

| Improve this Doc View Source

DeleteMessageAsync(IMessage, RequestOptions)

Deletes a message based on the provided message in this channel.

Declaration
public Task DeleteMessageAsync(IMessage message, RequestOptions options = null)
Parameters
Type Name Description
IMessage message

The message that would be removed.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous removal operation.

| Improve this Doc View Source

DeleteMessageAsync(UInt64, RequestOptions)

Deletes a message.

Declaration
public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null)
Parameters
Type Name Description
System.UInt64 messageId

The snowflake identifier of the message that would be removed.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous removal operation.

| Improve this Doc View Source

EnterTypingState(RequestOptions)

Continuously broadcasts the "user is typing" message to all users in this channel until the returned object is disposed.

Declaration
public IDisposable EnterTypingState(RequestOptions options = null)
Parameters
Type Name Description
RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.IDisposable

A disposable object that, upon its disposal, will stop the client from broadcasting its typing state in this channel.

| Improve this Doc View Source

GetMessageAsync(UInt64, RequestOptions)

Gets a message from this message channel.

Declaration
public Task<RestMessage> GetMessageAsync(ulong id, RequestOptions options = null)
Parameters
Type Name Description
System.UInt64 id

The snowflake identifier of the message.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task<RestMessage>

A task that represents an asynchronous get operation for retrieving the message. The task result contains the retrieved message; null if no message is found with the specified identifier.

Remarks

This method follows the same behavior as described in GetMessageAsync(UInt64, CacheMode, RequestOptions). Please visit its documentation for more details on this method.

| Improve this Doc View Source

GetMessagesAsync(IMessage, Direction, Int32, RequestOptions)

Gets a collection of messages in this channel.

Declaration
public IAsyncEnumerable<IReadOnlyCollection<RestMessage>> GetMessagesAsync(IMessage fromMessage, Direction dir, int limit = 100, RequestOptions options = null)
Parameters
Type Name Description
IMessage fromMessage

The starting message to get the messages from.

Direction dir

The direction of the messages to be gotten from.

System.Int32 limit

The numbers of message to be gotten from.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<RestMessage>>

Paged collection of messages.

Remarks

This method follows the same behavior as described in GetMessagesAsync(IMessage, Direction, Int32, CacheMode, RequestOptions). Please visit its documentation for more details on this method.

| Improve this Doc View Source

GetMessagesAsync(Int32, RequestOptions)

Gets the last N messages from this message channel.

Declaration
public IAsyncEnumerable<IReadOnlyCollection<RestMessage>> GetMessagesAsync(int limit = 100, RequestOptions options = null)
Parameters
Type Name Description
System.Int32 limit

The numbers of message to be gotten from.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<RestMessage>>

Paged collection of messages.

Remarks

This method follows the same behavior as described in GetMessagesAsync(Int32, CacheMode, RequestOptions). Please visit its documentation for more details on this method.

| Improve this Doc View Source

GetMessagesAsync(UInt64, Direction, Int32, RequestOptions)

Gets a collection of messages in this channel.

Declaration
public IAsyncEnumerable<IReadOnlyCollection<RestMessage>> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = 100, RequestOptions options = null)
Parameters
Type Name Description
System.UInt64 fromMessageId

The ID of the starting message to get the messages from.

Direction dir

The direction of the messages to be gotten from.

System.Int32 limit

The numbers of message to be gotten from.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<RestMessage>>

Paged collection of messages.

Remarks

This method follows the same behavior as described in GetMessagesAsync(UInt64, Direction, Int32, CacheMode, RequestOptions). Please visit its documentation for more details on this method.

| Improve this Doc View Source

GetPinnedMessagesAsync(RequestOptions)

Gets a collection of pinned messages in this channel.

Declaration
public Task<IReadOnlyCollection<RestMessage>> GetPinnedMessagesAsync(RequestOptions options = null)
Parameters
Type Name Description
RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<RestMessage>>

A task that represents the asynchronous get operation for retrieving pinned messages in this channel. The task result contains a collection of messages found in the pinned messages.

Remarks

This method follows the same behavior as described in GetPinnedMessagesAsync(RequestOptions). Please visit its documentation for more details on this method.

| Improve this Doc View Source

GetUser(UInt64)

Declaration
public RestUser GetUser(ulong id)
Parameters
Type Name Description
System.UInt64 id
Returns
Type Description
RestUser
| Improve this Doc View Source

LeaveAsync(RequestOptions)

Leaves this group.

Declaration
public Task LeaveAsync(RequestOptions options = null)
Parameters
Type Name Description
RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous leave operation.

| Improve this Doc View Source

SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean)

Sends a file to this message channel with an optional caption.

Declaration
public Task<RestUserMessage> SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false)
Parameters
Type Name Description
System.IO.Stream stream

The System.IO.Stream of the file to be sent.

System.String filename

The name of the attachment.

System.String text

The message to be sent.

System.Boolean isTTS

Whether the message should be read aloud by Discord or not.

Embed embed

The Rich Embed to be sent.

RequestOptions options

The options to be used when sending the request.

System.Boolean isSpoiler
Returns
Type Description
System.Threading.Tasks.Task<RestUserMessage>

A task that represents an asynchronous send operation for delivering the message. The task result contains the sent message.

Remarks

This method follows the same behavior as described in SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean). Please visit its documentation for more details on this method.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Message content is too long, length must be less or equal to MaxMessageSize.

| Improve this Doc View Source

SendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean)

Sends a file to this message channel with an optional caption.

Declaration
public Task<RestUserMessage> SendFileAsync(string filePath, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false)
Parameters
Type Name Description
System.String filePath

The file path of the file.

System.String text

The message to be sent.

System.Boolean isTTS

Whether the message should be read aloud by Discord or not.

Embed embed

The Rich Embed to be sent.

RequestOptions options

The options to be used when sending the request.

System.Boolean isSpoiler
Returns
Type Description
System.Threading.Tasks.Task<RestUserMessage>

A task that represents an asynchronous send operation for delivering the message. The task result contains the sent message.

Remarks

This method follows the same behavior as described in SendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean). Please visit its documentation for more details on this method.

Exceptions
Type Condition
System.ArgumentException

filePath is a zero-length string, contains only white space, or contains one or more invalid characters as defined by System.IO.Path.GetInvalidPathChars.

System.ArgumentNullException

filePath is null.

System.IO.PathTooLongException

The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.

System.IO.DirectoryNotFoundException

The specified path is invalid, (for example, it is on an unmapped drive).

System.UnauthorizedAccessException

filePath specified a directory.-or- The caller does not have the required permission.

System.IO.FileNotFoundException

The file specified in filePath was not found.

System.NotSupportedException

filePath is in an invalid format.

System.IO.IOException

An I/O error occurred while opening the file.

System.ArgumentOutOfRangeException

Message content is too long, length must be less or equal to MaxMessageSize.

| Improve this Doc View Source

SendMessageAsync(String, Boolean, Embed, RequestOptions)

Sends a message to this message channel.

Declaration
public Task<RestUserMessage> SendMessageAsync(string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null)
Parameters
Type Name Description
System.String text

The message to be sent.

System.Boolean isTTS

Determines whether the message should be read aloud by Discord or not.

Embed embed

The Rich Embed to be sent.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task<RestUserMessage>

A task that represents an asynchronous send operation for delivering the message. The task result contains the sent message.

Remarks

This method follows the same behavior as described in SendMessageAsync(String, Boolean, Embed, RequestOptions). Please visit its documentation for more details on this method.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Message content is too long, length must be less or equal to MaxMessageSize.

| Improve this Doc View Source

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.Object.ToString()
| Improve this Doc View Source

TriggerTypingAsync(RequestOptions)

Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds.

Declaration
public Task TriggerTypingAsync(RequestOptions options = null)
Parameters
Type Name Description
RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous operation that triggers the broadcast.

| Improve this Doc View Source

UpdateAsync(RequestOptions)

Updates this object's properties with its current state.

Declaration
public override Task UpdateAsync(RequestOptions options = null)
Parameters
Type Name Description
RequestOptions options
Returns
Type Description
System.Threading.Tasks.Task
Overrides
RestChannel.UpdateAsync(RequestOptions)

Explicit Interface Implementations

| Improve this Doc View Source

IAudioChannel.ConnectAsync(Boolean, Boolean, Boolean)

Connects to this audio channel.

Declaration
Task<IAudioClient> IAudioChannel.ConnectAsync(bool selfDeaf, bool selfMute, bool external)
Parameters
Type Name Description
System.Boolean selfDeaf

Determines whether the client should deaf itself upon connection.

System.Boolean selfMute

Determines whether the client should mute itself upon connection.

System.Boolean external

Determines whether the audio client is an external one or not.

Returns
Type Description
System.Threading.Tasks.Task<IAudioClient>

A task representing the asynchronous connection operation. The task result contains the IAudioClient responsible for the connection.

Exceptions
Type Condition
System.NotSupportedException

Connecting to a group channel is not supported.

| Improve this Doc View Source

IAudioChannel.DisconnectAsync()

Declaration
Task IAudioChannel.DisconnectAsync()
Returns
Type Description
System.Threading.Tasks.Task
| Improve this Doc View Source

IChannel.GetUserAsync(UInt64, CacheMode, RequestOptions)

Declaration
Task<IUser> IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options)
Parameters
Type Name Description
System.UInt64 id
CacheMode mode
RequestOptions options
Returns
Type Description
System.Threading.Tasks.Task<IUser>
| Improve this Doc View Source

IChannel.GetUsersAsync(CacheMode, RequestOptions)

Declaration
IAsyncEnumerable<IReadOnlyCollection<IUser>> IChannel.GetUsersAsync(CacheMode mode, RequestOptions options)
Parameters
Type Name Description
CacheMode mode
RequestOptions options
Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IUser>>
| Improve this Doc View Source

IMessageChannel.GetMessageAsync(UInt64, CacheMode, RequestOptions)

Declaration
Task<IMessage> IMessageChannel.GetMessageAsync(ulong id, CacheMode mode, RequestOptions options)
Parameters
Type Name Description
System.UInt64 id
CacheMode mode
RequestOptions options
Returns
Type Description
System.Threading.Tasks.Task<IMessage>
| Improve this Doc View Source

IMessageChannel.GetMessagesAsync(IMessage, Direction, Int32, CacheMode, RequestOptions)

Declaration
IAsyncEnumerable<IReadOnlyCollection<IMessage>> IMessageChannel.GetMessagesAsync(IMessage fromMessage, Direction dir, int limit, CacheMode mode, RequestOptions options)
Parameters
Type Name Description
IMessage fromMessage
Direction dir
System.Int32 limit
CacheMode mode
RequestOptions options
Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IMessage>>
| Improve this Doc View Source

IMessageChannel.GetMessagesAsync(Int32, CacheMode, RequestOptions)

Declaration
IAsyncEnumerable<IReadOnlyCollection<IMessage>> IMessageChannel.GetMessagesAsync(int limit, CacheMode mode, RequestOptions options)
Parameters
Type Name Description
System.Int32 limit
CacheMode mode
RequestOptions options
Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IMessage>>
| Improve this Doc View Source

IMessageChannel.GetMessagesAsync(UInt64, Direction, Int32, CacheMode, RequestOptions)

Declaration
IAsyncEnumerable<IReadOnlyCollection<IMessage>> IMessageChannel.GetMessagesAsync(ulong fromMessageId, Direction dir, int limit, CacheMode mode, RequestOptions options)
Parameters
Type Name Description
System.UInt64 fromMessageId
Direction dir
System.Int32 limit
CacheMode mode
RequestOptions options
Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IMessage>>
| Improve this Doc View Source

IMessageChannel.GetPinnedMessagesAsync(RequestOptions)

Declaration
Task<IReadOnlyCollection<IMessage>> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
Parameters
Type Name Description
RequestOptions options
Returns
Type Description
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<IMessage>>
| Improve this Doc View Source

IMessageChannel.SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean)

Declaration
Task<IUserMessage> IMessageChannel.SendFileAsync(Stream stream, string filename, string text, bool isTTS, Embed embed, RequestOptions options, bool isSpoiler)
Parameters
Type Name Description
System.IO.Stream stream
System.String filename
System.String text
System.Boolean isTTS
Embed embed
RequestOptions options
System.Boolean isSpoiler
Returns
Type Description
System.Threading.Tasks.Task<IUserMessage>
| Improve this Doc View Source

IMessageChannel.SendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean)

Declaration
Task<IUserMessage> IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, Embed embed, RequestOptions options, bool isSpoiler)
Parameters
Type Name Description
System.String filePath
System.String text
System.Boolean isTTS
Embed embed
RequestOptions options
System.Boolean isSpoiler
Returns
Type Description
System.Threading.Tasks.Task<IUserMessage>
| Improve this Doc View Source

IMessageChannel.SendMessageAsync(String, Boolean, Embed, RequestOptions)

Declaration
Task<IUserMessage> IMessageChannel.SendMessageAsync(string text, bool isTTS, Embed embed, RequestOptions options)
Parameters
Type Name Description
System.String text
System.Boolean isTTS
Embed embed
RequestOptions options
Returns
Type Description
System.Threading.Tasks.Task<IUserMessage>
| Improve this Doc View Source

IPrivateChannel.Recipients

Declaration
IReadOnlyCollection<IUser> IPrivateChannel.Recipients { get; }
Returns
Type Description
System.Collections.Generic.IReadOnlyCollection<IUser>
| Improve this Doc View Source

IRestPrivateChannel.Recipients

Declaration
IReadOnlyCollection<RestUser> IRestPrivateChannel.Recipients { get; }
Returns
Type Description
System.Collections.Generic.IReadOnlyCollection<RestUser>

Implements

IUpdateable
IGroupChannel
IRestPrivateChannel
IPrivateChannel
IRestMessageChannel
IMessageChannel
IRestAudioChannel
IAudioChannel
IChannel
ISnowflakeEntity
IEntity<TId>
  • Improve this Doc
  • View Source
Back to top Generated by DocFX