Class SocketDMChannel
Represents a WebSocket-based direct-message channel.
Inheritance
System.Object
SocketDMChannel
Inherited Members
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()
Assembly: Discord.Net.WebSocket.dll
Syntax
public class SocketDMChannel : SocketChannel, IDMChannel, ISocketPrivateChannel, IPrivateChannel, ISocketMessageChannel, IMessageChannel, IChannel, ISnowflakeEntity, IEntity<ulong>
Properties
|
Improve this Doc
View Source
CachedMessages
Declaration
public IReadOnlyCollection<SocketMessage> CachedMessages { get; }
Property Value
| Type |
Description |
| System.Collections.Generic.IReadOnlyCollection<SocketMessage> |
|
|
Improve this Doc
View Source
Recipient
Gets the recipient of the channel.
Declaration
public SocketUser Recipient { get; }
Property Value
|
Improve this Doc
View Source
Users
Gets a collection that is the current logged-in user and the recipient.
Declaration
public IReadOnlyCollection<SocketUser> Users { get; }
Property Value
| Type |
Description |
| System.Collections.Generic.IReadOnlyCollection<SocketUser> |
|
Methods
|
Improve this Doc
View Source
CloseAsync(RequestOptions)
Declaration
public Task CloseAsync(RequestOptions options = null)
Parameters
Returns
| Type |
Description |
| System.Threading.Tasks.Task |
|
|
Improve this Doc
View Source
DeleteMessageAsync(IMessage, RequestOptions)
Declaration
public Task DeleteMessageAsync(IMessage message, RequestOptions options = null)
Parameters
Returns
| Type |
Description |
| System.Threading.Tasks.Task |
|
|
Improve this Doc
View Source
DeleteMessageAsync(UInt64, RequestOptions)
Declaration
public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null)
Parameters
Returns
| Type |
Description |
| System.Threading.Tasks.Task |
|
|
Improve this Doc
View Source
EnterTypingState(RequestOptions)
Declaration
public IDisposable EnterTypingState(RequestOptions options = null)
Parameters
Returns
| Type |
Description |
| System.IDisposable |
|
|
Improve this Doc
View Source
GetCachedMessage(UInt64)
Declaration
public SocketMessage GetCachedMessage(ulong id)
Parameters
| Type |
Name |
Description |
| System.UInt64 |
id |
|
Returns
|
Improve this Doc
View Source
GetCachedMessages(IMessage, Direction, Int32)
Declaration
public IReadOnlyCollection<SocketMessage> GetCachedMessages(IMessage fromMessage, Direction dir, int limit = 100)
Parameters
Returns
| Type |
Description |
| System.Collections.Generic.IReadOnlyCollection<SocketMessage> |
|
|
Improve this Doc
View Source
GetCachedMessages(Int32)
Declaration
public IReadOnlyCollection<SocketMessage> GetCachedMessages(int limit = 100)
Parameters
| Type |
Name |
Description |
| System.Int32 |
limit |
|
Returns
| Type |
Description |
| System.Collections.Generic.IReadOnlyCollection<SocketMessage> |
|
|
Improve this Doc
View Source
GetCachedMessages(UInt64, Direction, Int32)
Declaration
public IReadOnlyCollection<SocketMessage> GetCachedMessages(ulong fromMessageId, Direction dir, int limit = 100)
Parameters
| Type |
Name |
Description |
| System.UInt64 |
fromMessageId |
|
| Direction |
dir |
|
| System.Int32 |
limit |
|
Returns
| Type |
Description |
| System.Collections.Generic.IReadOnlyCollection<SocketMessage> |
|
|
Improve this Doc
View Source
GetMessageAsync(UInt64, RequestOptions)
Gets the message associated with the given id.
Declaration
public Task<IMessage> GetMessageAsync(ulong id, RequestOptions options = null)
Parameters
| Type |
Name |
Description |
| System.UInt64 |
id |
TThe ID of the message.
|
| RequestOptions |
options |
The options to be used when sending the request.
|
Returns
| Type |
Description |
| System.Threading.Tasks.Task<IMessage> |
The message gotten from either the cache or the download, or null if none is found.
|
|
Improve this Doc
View Source
GetMessagesAsync(IMessage, Direction, Int32, RequestOptions)
Gets a collection of messages in this channel.
Declaration
public IAsyncEnumerable<IReadOnlyCollection<IMessage>> 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<IMessage>> |
Paged collection of messages.
|
|
Improve this Doc
View Source
GetMessagesAsync(Int32, RequestOptions)
Gets the last N messages from this message channel.
Declaration
public IAsyncEnumerable<IReadOnlyCollection<IMessage>> 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<IMessage>> |
Paged collection of messages.
|
|
Improve this Doc
View Source
GetMessagesAsync(UInt64, Direction, Int32, RequestOptions)
Gets a collection of messages in this channel.
Declaration
public IAsyncEnumerable<IReadOnlyCollection<IMessage>> 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<IMessage>> |
Paged collection of messages.
|
|
Improve this Doc
View Source
GetPinnedMessagesAsync(RequestOptions)
Declaration
public Task<IReadOnlyCollection<RestMessage>> GetPinnedMessagesAsync(RequestOptions options = null)
Parameters
Returns
| Type |
Description |
| System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyCollection<RestMessage>> |
|
|
Improve this Doc
View Source
GetUser(UInt64)
Gets a user in this channel from the provided id.
Declaration
public SocketUser GetUser(ulong id)
Parameters
| Type |
Name |
Description |
| System.UInt64 |
id |
The snowflake identifier of the user.
|
Returns
| Type |
Description |
| SocketUser |
A SocketUser object that is a recipient of this channel; otherwise null.
|
|
Improve this Doc
View Source
SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean)
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 |
|
| System.String |
filename |
|
| System.String |
text |
|
| System.Boolean |
isTTS |
|
| Embed |
embed |
|
| RequestOptions |
options |
|
| System.Boolean |
isSpoiler |
|
Returns
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)
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 |
|
| System.String |
text |
|
| System.Boolean |
isTTS |
|
| Embed |
embed |
|
| RequestOptions |
options |
|
| System.Boolean |
isSpoiler |
|
Returns
|
Improve this Doc
View Source
SendMessageAsync(String, Boolean, Embed, RequestOptions)
Declaration
public Task<RestUserMessage> SendMessageAsync(string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null)
Parameters
| Type |
Name |
Description |
| System.String |
text |
|
| System.Boolean |
isTTS |
|
| Embed |
embed |
|
| RequestOptions |
options |
|
Returns
Exceptions
| Type |
Condition |
| System.ArgumentOutOfRangeException |
Message content is too long, length must be less or equal to MaxMessageSize.
|
|
Improve this Doc
View Source
ToString()
Returns the recipient user.
Declaration
public override string ToString()
Returns
| Type |
Description |
| System.String |
|
Overrides
System.Object.ToString()
|
Improve this Doc
View Source
TriggerTypingAsync(RequestOptions)
Declaration
public Task TriggerTypingAsync(RequestOptions options = null)
Parameters
Returns
| Type |
Description |
| System.Threading.Tasks.Task |
|
Explicit Interface Implementations
|
Improve this Doc
View Source
IChannel.GetUserAsync(UInt64, CacheMode, RequestOptions)
Declaration
Task<IUser> IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options)
Parameters
Returns
| Type |
Description |
| System.Threading.Tasks.Task<IUser> |
|
|
Improve this Doc
View Source
IChannel.Name
Declaration
string IChannel.Name { get; }
Returns
| Type |
Description |
| System.String |
|
|
Improve this Doc
View Source
IDMChannel.Recipient
Declaration
IUser IDMChannel.Recipient { get; }
Returns
|
Improve this Doc
View Source
IMessageChannel.GetMessageAsync(UInt64, CacheMode, RequestOptions)
Declaration
Task<IMessage> IMessageChannel.GetMessageAsync(ulong id, CacheMode mode, RequestOptions options)
Parameters
Returns
| Type |
Description |
| System.Threading.Tasks.Task<IMessage> |
|
|
Improve this Doc
View Source
IMessageChannel.GetPinnedMessagesAsync(RequestOptions)
Declaration
Task<IReadOnlyCollection<IMessage>> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
Parameters
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
|
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
|
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
|
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
ISocketPrivateChannel.Recipients
Declaration
IReadOnlyCollection<SocketUser> ISocketPrivateChannel.Recipients { get; }
Returns
| Type |
Description |
| System.Collections.Generic.IReadOnlyCollection<SocketUser> |
|
Implements