Dalamud/docs/api/Discord.Rest.RestDMChannel.html
2020-03-11 21:54:11 +09:00

2247 lines
119 KiB
HTML

<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class RestDMChannel
</title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class RestDMChannel
">
<meta name="generator" content="docfx 2.50.0.0">
<link rel="shortcut icon" href="../favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<meta property="docfx:navrel" content="">
<meta property="docfx:tocrel" content="toc.html">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../logo.svg" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Discord.Rest.RestDMChannel">
<h1 id="Discord_Rest_RestDMChannel" data-uid="Discord.Rest.RestDMChannel" class="text-break">Class RestDMChannel
</h1>
<div class="markdown level0 summary"><p>Represents a REST-based direct-message channel.</p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><a class="xref" href="Discord.Rest.RestEntity-1.html">RestEntity</a>&lt;<span class="xref">System.UInt64</span>&gt;</div>
<div class="level2"><a class="xref" href="Discord.Rest.RestChannel.html">RestChannel</a></div>
<div class="level3"><span class="xref">RestDMChannel</span></div>
</div>
<div classs="implements">
<h5>Implements</h5>
<div><a class="xref" href="Discord.IUpdateable.html">IUpdateable</a></div>
<div><a class="xref" href="Discord.IDMChannel.html">IDMChannel</a></div>
<div><a class="xref" href="Discord.Rest.IRestPrivateChannel.html">IRestPrivateChannel</a></div>
<div><a class="xref" href="Discord.IPrivateChannel.html">IPrivateChannel</a></div>
<div><a class="xref" href="Discord.Rest.IRestMessageChannel.html">IRestMessageChannel</a></div>
<div><a class="xref" href="Discord.IMessageChannel.html">IMessageChannel</a></div>
<div><a class="xref" href="Discord.IChannel.html">IChannel</a></div>
<div><a class="xref" href="Discord.ISnowflakeEntity.html">ISnowflakeEntity</a></div>
<div><a class="xref" href="Discord.IEntity-1.html">IEntity</a>&lt;<span class="xref">System.UInt64</span>&gt;</div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<a class="xref" href="Discord.Rest.RestChannel.html#Discord_Rest_RestChannel_CreatedAt">RestChannel.CreatedAt</a>
</div>
<div>
<a class="xref" href="Discord.Rest.RestEntity-1.html#Discord_Rest_RestEntity_1_Id">RestEntity&lt;UInt64&gt;.Id</a>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object)</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.GetHashCode()</span>
</div>
<div>
<span class="xref">System.Object.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Discord.Rest.html">Discord.Rest</a></h6>
<h6><strong>Assembly</strong>: Discord.Net.Rest.dll</h6>
<h5 id="Discord_Rest_RestDMChannel_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class RestDMChannel : RestChannel, IUpdateable, IDMChannel, IRestPrivateChannel, IPrivateChannel, IRestMessageChannel, IMessageChannel, IChannel, ISnowflakeEntity, IEntity&lt;ulong&gt;</code></pre>
</div>
<h3 id="properties">Properties
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_CurrentUser.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.CurrentUser%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L21">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_CurrentUser_" data-uid="Discord.Rest.RestDMChannel.CurrentUser*"></a>
<h4 id="Discord_Rest_RestDMChannel_CurrentUser" data-uid="Discord.Rest.RestDMChannel.CurrentUser">CurrentUser</h4>
<div class="markdown level1 summary"><p>Gets the current logged-in user.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public RestUser CurrentUser { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.Rest.RestUser.html">RestUser</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Recipient.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Recipient%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L26">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Recipient_" data-uid="Discord.Rest.RestDMChannel.Recipient*"></a>
<h4 id="Discord_Rest_RestDMChannel_Recipient" data-uid="Discord.Rest.RestDMChannel.Recipient">Recipient</h4>
<div class="markdown level1 summary"><p>Gets the recipient of the channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public RestUser Recipient { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.Rest.RestUser.html">RestUser</a></td>
<td></td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Users.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Users%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L31">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Users_" data-uid="Discord.Rest.RestDMChannel.Users*"></a>
<h4 id="Discord_Rest_RestDMChannel_Users" data-uid="Discord.Rest.RestDMChannel.Users">Users</h4>
<div class="markdown level1 summary"><p>Gets a collection that is the current logged-in user and the recipient.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IReadOnlyCollection&lt;RestUser&gt; Users { get; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.Rest.RestUser.html">RestUser</a>&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_CloseAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.CloseAsync(Discord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L57">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_CloseAsync_" data-uid="Discord.Rest.RestDMChannel.CloseAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_CloseAsync_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.CloseAsync(Discord.RequestOptions)">CloseAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Closes this private channel, removing it from your channel list.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task CloseAsync(RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous close operation.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_DeleteMessageAsync_Discord_IMessage_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.DeleteMessageAsync(Discord.IMessage%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L135">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_DeleteMessageAsync_" data-uid="Discord.Rest.RestDMChannel.DeleteMessageAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_DeleteMessageAsync_Discord_IMessage_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.DeleteMessageAsync(Discord.IMessage,Discord.RequestOptions)">DeleteMessageAsync(IMessage, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Deletes a message based on the provided message in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task DeleteMessageAsync(IMessage message, RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.IMessage.html">IMessage</a></td>
<td><span class="parametername">message</span></td>
<td><p>The message that would be removed.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous removal operation.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_DeleteMessageAsync_System_UInt64_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.DeleteMessageAsync(System.UInt64%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L132">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_DeleteMessageAsync_" data-uid="Discord.Rest.RestDMChannel.DeleteMessageAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_DeleteMessageAsync_System_UInt64_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.DeleteMessageAsync(System.UInt64,Discord.RequestOptions)">DeleteMessageAsync(UInt64, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Deletes a message.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task DeleteMessageAsync(ulong messageId, RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">messageId</span></td>
<td><p>The snowflake identifier of the message that would be removed.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous removal operation.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_EnterTypingState_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.EnterTypingState(Discord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L142">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_EnterTypingState_" data-uid="Discord.Rest.RestDMChannel.EnterTypingState*"></a>
<h4 id="Discord_Rest_RestDMChannel_EnterTypingState_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.EnterTypingState(Discord.RequestOptions)">EnterTypingState(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Continuously broadcasts the &quot;user is typing&quot; message to all users in this channel until the returned
object is disposed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IDisposable EnterTypingState(RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IDisposable</span></td>
<td><p>A disposable object that, upon its disposal, will stop the client from broadcasting its typing state in
this channel.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_GetMessageAsync_System_UInt64_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.GetMessageAsync(System.UInt64%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L79">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_GetMessageAsync_" data-uid="Discord.Rest.RestDMChannel.GetMessageAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_GetMessageAsync_System_UInt64_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.GetMessageAsync(System.UInt64,Discord.RequestOptions)">GetMessageAsync(UInt64, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a message from this message channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task&lt;RestMessage&gt; GetMessageAsync(ulong id, RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">id</span></td>
<td><p>The snowflake identifier of the message.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.Rest.RestMessage.html">RestMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous get operation for retrieving the message. The task result contains
the retrieved message; <code>null</code> if no message is found with the specified identifier.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_GetMessageAsync_System_UInt64_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in <a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_GetMessageAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_">GetMessageAsync(UInt64, CacheMode, RequestOptions)</a>.
Please visit its documentation for more details on this method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_GetMessagesAsync_Discord_IMessage_Discord_Direction_System_Int32_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.GetMessagesAsync(Discord.IMessage%2CDiscord.Direction%2CSystem.Int32%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L88">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_GetMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.GetMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_GetMessagesAsync_Discord_IMessage_Discord_Direction_System_Int32_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.GetMessagesAsync(Discord.IMessage,Discord.Direction,System.Int32,Discord.RequestOptions)">GetMessagesAsync(IMessage, Direction, Int32, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of messages in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IAsyncEnumerable&lt;IReadOnlyCollection&lt;RestMessage&gt;&gt; GetMessagesAsync(IMessage fromMessage, Direction dir, int limit = 100, RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.IMessage.html">IMessage</a></td>
<td><span class="parametername">fromMessage</span></td>
<td><p>The starting message to get the messages from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Direction.html">Direction</a></td>
<td><span class="parametername">dir</span></td>
<td><p>The direction of the messages to be gotten from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">limit</span></td>
<td><p>The numbers of message to be gotten from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IAsyncEnumerable</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.Rest.RestMessage.html">RestMessage</a>&gt;&gt;</td>
<td><p>Paged collection of messages.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_GetMessagesAsync_Discord_IMessage_Discord_Direction_System_Int32_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in <a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_GetMessagesAsync_Discord_IMessage_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions_">GetMessagesAsync(IMessage, Direction, Int32, CacheMode, RequestOptions)</a>.
Please visit its documentation for more details on this method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_GetMessagesAsync_System_Int32_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.GetMessagesAsync(System.Int32%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L82">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_GetMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.GetMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_GetMessagesAsync_System_Int32_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.GetMessagesAsync(System.Int32,Discord.RequestOptions)">GetMessagesAsync(Int32, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets the last N messages from this message channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IAsyncEnumerable&lt;IReadOnlyCollection&lt;RestMessage&gt;&gt; GetMessagesAsync(int limit = 100, RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">limit</span></td>
<td><p>The numbers of message to be gotten from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IAsyncEnumerable</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.Rest.RestMessage.html">RestMessage</a>&gt;&gt;</td>
<td><p>Paged collection of messages.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_GetMessagesAsync_System_Int32_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in <a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_GetMessagesAsync_System_Int32_Discord_CacheMode_Discord_RequestOptions_">GetMessagesAsync(Int32, CacheMode, RequestOptions)</a>.
Please visit its documentation for more details on this method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_GetMessagesAsync_System_UInt64_Discord_Direction_System_Int32_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.GetMessagesAsync(System.UInt64%2CDiscord.Direction%2CSystem.Int32%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L85">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_GetMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.GetMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_GetMessagesAsync_System_UInt64_Discord_Direction_System_Int32_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.GetMessagesAsync(System.UInt64,Discord.Direction,System.Int32,Discord.RequestOptions)">GetMessagesAsync(UInt64, Direction, Int32, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of messages in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IAsyncEnumerable&lt;IReadOnlyCollection&lt;RestMessage&gt;&gt; GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = 100, RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">fromMessageId</span></td>
<td><p>The ID of the starting message to get the messages from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Direction.html">Direction</a></td>
<td><span class="parametername">dir</span></td>
<td><p>The direction of the messages to be gotten from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">limit</span></td>
<td><p>The numbers of message to be gotten from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IAsyncEnumerable</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.Rest.RestMessage.html">RestMessage</a>&gt;&gt;</td>
<td><p>Paged collection of messages.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_GetMessagesAsync_System_UInt64_Discord_Direction_System_Int32_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in <a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_GetMessagesAsync_System_UInt64_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions_">GetMessagesAsync(UInt64, Direction, Int32, CacheMode, RequestOptions)</a>.
Please visit its documentation for more details on this method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_GetPinnedMessagesAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.GetPinnedMessagesAsync(Discord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L91">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_GetPinnedMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.GetPinnedMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_GetPinnedMessagesAsync_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.GetPinnedMessagesAsync(Discord.RequestOptions)">GetPinnedMessagesAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of pinned messages in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task&lt;IReadOnlyCollection&lt;RestMessage&gt;&gt; GetPinnedMessagesAsync(RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.Rest.RestMessage.html">RestMessage</a>&gt;&gt;</td>
<td><p>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.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_GetPinnedMessagesAsync_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in <a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_GetPinnedMessagesAsync_Discord_RequestOptions_">GetPinnedMessagesAsync(RequestOptions)</a>.
Please visit its documentation for more details on this method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_GetUser_System_UInt64_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.GetUser(System.UInt64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L68">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_GetUser_" data-uid="Discord.Rest.RestDMChannel.GetUser*"></a>
<h4 id="Discord_Rest_RestDMChannel_GetUser_System_UInt64_" data-uid="Discord.Rest.RestDMChannel.GetUser(System.UInt64)">GetUser(UInt64)</h4>
<div class="markdown level1 summary"><p>Gets a user in this channel from the provided <code data-dev-comment-type="paramref" class="paramref">id</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public RestUser GetUser(ulong id)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">id</span></td>
<td><p>The snowflake identifier of the user.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.Rest.RestUser.html">RestUser</a></td>
<td><p>A <a class="xref" href="Discord.Rest.RestUser.html">RestUser</a> object that is a recipient of this channel; otherwise <code>null</code>.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_SendFileAsync_System_IO_Stream_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.SendFileAsync(System.IO.Stream%2CSystem.String%2CSystem.String%2CSystem.Boolean%2CDiscord.Embed%2CDiscord.RequestOptions%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L128">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_SendFileAsync_" data-uid="Discord.Rest.RestDMChannel.SendFileAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_SendFileAsync_System_IO_Stream_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_" data-uid="Discord.Rest.RestDMChannel.SendFileAsync(System.IO.Stream,System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions,System.Boolean)">SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean)</h4>
<div class="markdown level1 summary"><p>Sends a file to this message channel with an optional caption.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task&lt;RestUserMessage&gt; SendFileAsync(Stream stream, string filename, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IO.Stream</span></td>
<td><span class="parametername">stream</span></td>
<td><p>The <span class="xref">System.IO.Stream</span> of the file to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">filename</span></td>
<td><p>The name of the attachment.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">text</span></td>
<td><p>The message to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isTTS</span></td>
<td><p>Whether the message should be read aloud by Discord or not.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Embed.html">Embed</a></td>
<td><span class="parametername">embed</span></td>
<td><p>The <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> <a class="xref" href="Discord.Embed.html">Embed</a> to be sent.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isSpoiler</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.Rest.RestUserMessage.html">RestUserMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_SendFileAsync_System_IO_Stream_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in <a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_SendFileAsync_System_IO_Stream_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_">SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean)</a>.
Please visit its documentation for more details on this method.</p>
</div>
<h5 class="exceptions">Exceptions</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Condition</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.ArgumentOutOfRangeException</span></td>
<td><p>Message content is too long, length must be less or equal to <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessageSize">MaxMessageSize</a>.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_SendFileAsync_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.SendFileAsync(System.String%2CSystem.String%2CSystem.Boolean%2CDiscord.Embed%2CDiscord.RequestOptions%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L124">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_SendFileAsync_" data-uid="Discord.Rest.RestDMChannel.SendFileAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_SendFileAsync_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_" data-uid="Discord.Rest.RestDMChannel.SendFileAsync(System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions,System.Boolean)">SendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean)</h4>
<div class="markdown level1 summary"><p>Sends a file to this message channel with an optional caption.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task&lt;RestUserMessage&gt; SendFileAsync(string filePath, string text, bool isTTS = false, Embed embed = null, RequestOptions options = null, bool isSpoiler = false)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">filePath</span></td>
<td><p>The file path of the file.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">text</span></td>
<td><p>The message to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isTTS</span></td>
<td><p>Whether the message should be read aloud by Discord or not.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Embed.html">Embed</a></td>
<td><span class="parametername">embed</span></td>
<td><p>The <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> <a class="xref" href="Discord.Embed.html">Embed</a> to be sent.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isSpoiler</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.Rest.RestUserMessage.html">RestUserMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_SendFileAsync_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in
<a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_SendFileAsync_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_">SendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean)</a>. Please visit
its documentation for more details on this method.</p>
</div>
<h5 class="exceptions">Exceptions</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Condition</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.ArgumentException</span></td>
<td><p><code data-dev-comment-type="paramref" class="paramref">filePath</code> is a zero-length string, contains only white space, or contains one or more
invalid characters as defined by <span class="xref">System.IO.Path.GetInvalidPathChars</span>.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.ArgumentNullException</span></td>
<td><p><code data-dev-comment-type="paramref" class="paramref">filePath</code> is <code>null</code>.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.IO.PathTooLongException</span></td>
<td><p>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.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.IO.DirectoryNotFoundException</span></td>
<td><p>The specified path is invalid, (for example, it is on an unmapped drive).</p>
</td>
</tr>
<tr>
<td><span class="xref">System.UnauthorizedAccessException</span></td>
<td><p><code data-dev-comment-type="paramref" class="paramref">filePath</code> specified a directory.-or- The caller does not have the required permission.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.IO.FileNotFoundException</span></td>
<td><p>The file specified in <code data-dev-comment-type="paramref" class="paramref">filePath</code> was not found.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.NotSupportedException</span></td>
<td><p><code data-dev-comment-type="paramref" class="paramref">filePath</code> is in an invalid format.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.IO.IOException</span></td>
<td><p>An I/O error occurred while opening the file.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.ArgumentOutOfRangeException</span></td>
<td><p>Message content is too long, length must be less or equal to <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessageSize">MaxMessageSize</a>.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_SendMessageAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.SendMessageAsync(System.String%2CSystem.Boolean%2CDiscord.Embed%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L96">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_SendMessageAsync_" data-uid="Discord.Rest.RestDMChannel.SendMessageAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_SendMessageAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.SendMessageAsync(System.String,System.Boolean,Discord.Embed,Discord.RequestOptions)">SendMessageAsync(String, Boolean, Embed, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Sends a message to this message channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task&lt;RestUserMessage&gt; SendMessageAsync(string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">text</span></td>
<td><p>The message to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isTTS</span></td>
<td><p>Determines whether the message should be read aloud by Discord or not.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Embed.html">Embed</a></td>
<td><span class="parametername">embed</span></td>
<td><p>The <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> <a class="xref" href="Discord.Embed.html">Embed</a> to be sent.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.Rest.RestUserMessage.html">RestUserMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_SendMessageAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method follows the same behavior as described in <a class="xref" href="Discord.IMessageChannel.html#Discord_IMessageChannel_SendMessageAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_">SendMessageAsync(String, Boolean, Embed, RequestOptions)</a>.
Please visit its documentation for more details on this method.</p>
</div>
<h5 class="exceptions">Exceptions</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Condition</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.ArgumentOutOfRangeException</span></td>
<td><p>Message content is too long, length must be less or equal to <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessageSize">MaxMessageSize</a>.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_ToString.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.ToString%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L151">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_ToString_" data-uid="Discord.Rest.RestDMChannel.ToString*"></a>
<h4 id="Discord_Rest_RestDMChannel_ToString" data-uid="Discord.Rest.RestDMChannel.ToString">ToString()</h4>
<div class="markdown level1 summary"><p>Gets a string that represents the Username#Discriminator of the recipient.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><p>A string that resolves to the Recipient of this channel.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><span class="xref">System.Object.ToString()</span></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_TriggerTypingAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.TriggerTypingAsync(Discord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L139">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_TriggerTypingAsync_" data-uid="Discord.Rest.RestDMChannel.TriggerTypingAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_TriggerTypingAsync_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.TriggerTypingAsync(Discord.RequestOptions)">TriggerTypingAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Broadcasts the &quot;user is typing&quot; message to all users in this channel, lasting 10 seconds.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task TriggerTypingAsync(RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous operation that triggers the broadcast.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_UpdateAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.UpdateAsync(Discord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L51">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_UpdateAsync_" data-uid="Discord.Rest.RestDMChannel.UpdateAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_UpdateAsync_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.UpdateAsync(Discord.RequestOptions)">UpdateAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Updates this object's properties with its current state.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override Task UpdateAsync(RequestOptions options = null)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.Rest.RestChannel.html#Discord_Rest_RestChannel_UpdateAsync_Discord_RequestOptions_">RestChannel.UpdateAsync(RequestOptions)</a></div>
<h3 id="eii">Explicit Interface Implementations
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IChannel_GetUserAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IChannel%23GetUserAsync(System.UInt64%2CDiscord.CacheMode%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L217">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IChannel_GetUserAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IChannel#GetUserAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IChannel_GetUserAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IChannel#GetUserAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">IChannel.GetUserAsync(UInt64, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a user in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IUser&gt; IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">id</span></td>
<td><p>The snowflake identifier of the user (e.g. <code>168693960628371456</code>).</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.CacheMode.html">CacheMode</a></td>
<td><span class="parametername">mode</span></td>
<td><p>The <a class="xref" href="Discord.CacheMode.html">CacheMode</a> that determines whether the object should be fetched from cache.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.IUser.html">IUser</a>&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains a user object that
represents the found user; <code>null</code> if none is found.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IChannel_GetUsersAsync_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IChannel%23GetUsersAsync(Discord.CacheMode%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L220">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IChannel_GetUsersAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IChannel#GetUsersAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IChannel_GetUsersAsync_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IChannel#GetUsersAsync(Discord.CacheMode,Discord.RequestOptions)">IChannel.GetUsersAsync(CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of users that are able to view the channel or are currently in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;IReadOnlyCollection&lt;IUser&gt;&gt; IChannel.GetUsersAsync(CacheMode mode, RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.CacheMode.html">CacheMode</a></td>
<td><span class="parametername">mode</span></td>
<td><p>The <a class="xref" href="Discord.CacheMode.html">CacheMode</a> that determines whether the object should be fetched from cache.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IAsyncEnumerable</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IUser.html">IUser</a>&gt;&gt;</td>
<td><p>Paged collection of users.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_Discord_IChannel_GetUsersAsync_Discord_CacheMode_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><div class="IMPORTANT"><h5>important</h5><p>
The returned collection is an asynchronous enumerable object; one must call
<a class="xref" href="Discord.AsyncEnumerableExtensions.html#Discord_AsyncEnumerableExtensions_FlattenAsync__1_System_Collections_Generic_IAsyncEnumerable_System_Collections_Generic_IEnumerable___0___">FlattenAsync&lt;T&gt;(IAsyncEnumerable&lt;IEnumerable&lt;T&gt;&gt;)</a> to access the individual messages as a
collection.
</p></div>
This method will attempt to fetch all users that is able to view this channel or is currently in this channel.
The library will attempt to split up the requests according to and <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxUsersPerBatch">MaxUsersPerBatch</a>.
In other words, if there are 3000 users, and the <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxUsersPerBatch">MaxUsersPerBatch</a> constant
is <code>1000</code>, the request will be split into 3 individual requests; thus returning 53individual asynchronous
responses, hence the need of flattening.
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IChannel_Name.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IChannel%23Name%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L214">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IChannel_Name_" data-uid="Discord.Rest.RestDMChannel.Discord#IChannel#Name*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IChannel_Name" data-uid="Discord.Rest.RestDMChannel.Discord#IChannel#Name">IChannel.Name</h4>
<div class="markdown level1 summary"><p>Gets the name of this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">string IChannel.Name { get; }</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><p>A string containing the name of this channel.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IDMChannel_Recipient.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IDMChannel%23Recipient%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L156">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IDMChannel_Recipient_" data-uid="Discord.Rest.RestDMChannel.Discord#IDMChannel#Recipient*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IDMChannel_Recipient" data-uid="Discord.Rest.RestDMChannel.Discord#IDMChannel#Recipient">IDMChannel.Recipient</h4>
<div class="markdown level1 summary"><p>Gets the recipient of all messages in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IUser IDMChannel.Recipient { get; }</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.IUser.html">IUser</a></td>
<td><p>A user object that represents the other user in this channel.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessageAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23GetMessageAsync(System.UInt64%2CDiscord.CacheMode%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L168">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessageAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessageAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessageAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessageAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">IMessageChannel.GetMessageAsync(UInt64, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a message from this message channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IMessage&gt; IMessageChannel.GetMessageAsync(ulong id, CacheMode mode, RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">id</span></td>
<td><p>The snowflake identifier of the message.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.CacheMode.html">CacheMode</a></td>
<td><span class="parametername">mode</span></td>
<td><p>The <a class="xref" href="Discord.CacheMode.html">CacheMode</a> that determines whether the object should be fetched from cache.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.IMessage.html">IMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous get operation for retrieving the message. The task result contains
the retrieved message; <code>null</code> if no message is found with the specified identifier.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_Discord_IMessage_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23GetMessagesAsync(Discord.IMessage%2CDiscord.Direction%2CSystem.Int32%2CDiscord.CacheMode%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L192">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_Discord_IMessage_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessagesAsync(Discord.IMessage,Discord.Direction,System.Int32,Discord.CacheMode,Discord.RequestOptions)">IMessageChannel.GetMessagesAsync(IMessage, Direction, Int32, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of messages in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;IReadOnlyCollection&lt;IMessage&gt;&gt; IMessageChannel.GetMessagesAsync(IMessage fromMessage, Direction dir, int limit, CacheMode mode, RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.IMessage.html">IMessage</a></td>
<td><span class="parametername">fromMessage</span></td>
<td><p>The starting message to get the messages from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Direction.html">Direction</a></td>
<td><span class="parametername">dir</span></td>
<td><p>The direction of the messages to be gotten from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">limit</span></td>
<td><p>The numbers of message to be gotten from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.CacheMode.html">CacheMode</a></td>
<td><span class="parametername">mode</span></td>
<td><p>The <a class="xref" href="Discord.CacheMode.html">CacheMode</a> that determines whether the object should be fetched from
cache.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IAsyncEnumerable</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IMessage.html">IMessage</a>&gt;&gt;</td>
<td><p>Paged collection of messages.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_Discord_IMessage_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><div class="IMPORTANT"><h5>important</h5><p>
The returned collection is an asynchronous enumerable object; one must call
<a class="xref" href="Discord.AsyncEnumerableExtensions.html#Discord_AsyncEnumerableExtensions_FlattenAsync__1_System_Collections_Generic_IAsyncEnumerable_System_Collections_Generic_IEnumerable___0___">FlattenAsync&lt;T&gt;(IAsyncEnumerable&lt;IEnumerable&lt;T&gt;&gt;)</a> to access the individual messages as a
collection.
</p></div>
<div class="WARNING"><h5>warning</h5><p>
Do not fetch too many messages at once! This may cause unwanted preemptive rate limit or even actual
rate limit, causing your bot to freeze!
</p></div>
This method will attempt to fetch the number of messages specified under <code data-dev-comment-type="paramref" class="paramref">limit</code> around
the message <code data-dev-comment-type="paramref" class="paramref">fromMessage</code> depending on the <code data-dev-comment-type="paramref" class="paramref">dir</code>. The library will
attempt to split up the requests according to your <code data-dev-comment-type="paramref" class="paramref">limit</code> and
<a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessagesPerBatch">MaxMessagesPerBatch</a>. In other words, should the user request 500 messages,
and the <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessagesPerBatch">MaxMessagesPerBatch</a> constant is <code>100</code>, the request will
be split into 5 individual requests; thus returning 5 individual asynchronous responses, hence the need
of flattening.
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_System_Int32_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23GetMessagesAsync(System.Int32%2CDiscord.CacheMode%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L176">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_System_Int32_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessagesAsync(System.Int32,Discord.CacheMode,Discord.RequestOptions)">IMessageChannel.GetMessagesAsync(Int32, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets the last N messages from this message channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;IReadOnlyCollection&lt;IMessage&gt;&gt; IMessageChannel.GetMessagesAsync(int limit, CacheMode mode, RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">limit</span></td>
<td><p>The numbers of message to be gotten from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.CacheMode.html">CacheMode</a></td>
<td><span class="parametername">mode</span></td>
<td><p>The <a class="xref" href="Discord.CacheMode.html">CacheMode</a> that determines whether the object should be fetched from
cache.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IAsyncEnumerable</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IMessage.html">IMessage</a>&gt;&gt;</td>
<td><p>Paged collection of messages.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_System_Int32_Discord_CacheMode_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><div class="IMPORTANT"><h5>important</h5><p>
The returned collection is an asynchronous enumerable object; one must call
<a class="xref" href="Discord.AsyncEnumerableExtensions.html#Discord_AsyncEnumerableExtensions_FlattenAsync__1_System_Collections_Generic_IAsyncEnumerable_System_Collections_Generic_IEnumerable___0___">FlattenAsync&lt;T&gt;(IAsyncEnumerable&lt;IEnumerable&lt;T&gt;&gt;)</a> to access the individual messages as a
collection.
</p></div>
<div class="WARNING"><h5>warning</h5><p>
Do not fetch too many messages at once! This may cause unwanted preemptive rate limit or even actual
rate limit, causing your bot to freeze!
</p></div>
This method will attempt to fetch the number of messages specified under <code data-dev-comment-type="paramref" class="paramref">limit</code>. The
library will attempt to split up the requests according to your <code data-dev-comment-type="paramref" class="paramref">limit</code> and
<a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessagesPerBatch">MaxMessagesPerBatch</a>. In other words, should the user request 500 messages,
and the <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessagesPerBatch">MaxMessagesPerBatch</a> constant is <code>100</code>, the request will
be split into 5 individual requests; thus returning 5 individual asynchronous responses, hence the need
of flattening.
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_System_UInt64_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23GetMessagesAsync(System.UInt64%2CDiscord.Direction%2CSystem.Int32%2CDiscord.CacheMode%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L184">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_System_UInt64_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetMessagesAsync(System.UInt64,Discord.Direction,System.Int32,Discord.CacheMode,Discord.RequestOptions)">IMessageChannel.GetMessagesAsync(UInt64, Direction, Int32, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of messages in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IAsyncEnumerable&lt;IReadOnlyCollection&lt;IMessage&gt;&gt; IMessageChannel.GetMessagesAsync(ulong fromMessageId, Direction dir, int limit, CacheMode mode, RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">fromMessageId</span></td>
<td><p>The ID of the starting message to get the messages from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Direction.html">Direction</a></td>
<td><span class="parametername">dir</span></td>
<td><p>The direction of the messages to be gotten from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">limit</span></td>
<td><p>The numbers of message to be gotten from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.CacheMode.html">CacheMode</a></td>
<td><span class="parametername">mode</span></td>
<td><p>The <a class="xref" href="Discord.CacheMode.html">CacheMode</a> that determines whether the object should be fetched from
cache.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IAsyncEnumerable</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IMessage.html">IMessage</a>&gt;&gt;</td>
<td><p>Paged collection of messages.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetMessagesAsync_System_UInt64_Discord_Direction_System_Int32_Discord_CacheMode_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><div class="IMPORTANT"><h5>important</h5><p>
The returned collection is an asynchronous enumerable object; one must call
<a class="xref" href="Discord.AsyncEnumerableExtensions.html#Discord_AsyncEnumerableExtensions_FlattenAsync__1_System_Collections_Generic_IAsyncEnumerable_System_Collections_Generic_IEnumerable___0___">FlattenAsync&lt;T&gt;(IAsyncEnumerable&lt;IEnumerable&lt;T&gt;&gt;)</a> to access the individual messages as a
collection.
</p></div>
<div class="WARNING"><h5>warning</h5><p>
Do not fetch too many messages at once! This may cause unwanted preemptive rate limit or even actual
rate limit, causing your bot to freeze!
</p></div>
This method will attempt to fetch the number of messages specified under <code data-dev-comment-type="paramref" class="paramref">limit</code> around
the message <code data-dev-comment-type="paramref" class="paramref">fromMessageId</code> depending on the <code data-dev-comment-type="paramref" class="paramref">dir</code>. The library will
attempt to split up the requests according to your <code data-dev-comment-type="paramref" class="paramref">limit</code> and
<a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessagesPerBatch">MaxMessagesPerBatch</a>. In other words, should the user request 500 messages,
and the <a class="xref" href="Discord.DiscordConfig.html#Discord_DiscordConfig_MaxMessagesPerBatch">MaxMessagesPerBatch</a> constant is <code>100</code>, the request will
be split into 5 individual requests; thus returning 5 individual asynchronous responses, hence the need
of flattening.
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetPinnedMessagesAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23GetPinnedMessagesAsync(Discord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L200">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetPinnedMessagesAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetPinnedMessagesAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_GetPinnedMessagesAsync_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#GetPinnedMessagesAsync(Discord.RequestOptions)">IMessageChannel.GetPinnedMessagesAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of pinned messages in this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IReadOnlyCollection&lt;IMessage&gt;&gt; IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IMessage.html">IMessage</a>&gt;&gt;</td>
<td><p>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.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_System_IO_Stream_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23SendFileAsync(System.IO.Stream%2CSystem.String%2CSystem.String%2CSystem.Boolean%2CDiscord.Embed%2CDiscord.RequestOptions%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L206">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#SendFileAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_System_IO_Stream_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#SendFileAsync(System.IO.Stream,System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions,System.Boolean)">IMessageChannel.SendFileAsync(Stream, String, String, Boolean, Embed, RequestOptions, Boolean)</h4>
<div class="markdown level1 summary"><p>Sends a file to this message channel with an optional caption.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IUserMessage&gt; IMessageChannel.SendFileAsync(Stream stream, string filename, string text, bool isTTS, Embed embed, RequestOptions options, bool isSpoiler)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IO.Stream</span></td>
<td><span class="parametername">stream</span></td>
<td><p>The <span class="xref">System.IO.Stream</span> of the file to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">filename</span></td>
<td><p>The name of the attachment.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">text</span></td>
<td><p>The message to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isTTS</span></td>
<td><p>Whether the message should be read aloud by Discord or not.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Embed.html">Embed</a></td>
<td><span class="parametername">embed</span></td>
<td><p>The <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> <a class="xref" href="Discord.Embed.html">Embed</a> to be sent.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isSpoiler</span></td>
<td><p>Whether the message attachment should be hidden as a spoiler.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.IUserMessage.html">IUserMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_System_IO_Stream_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method sends a file as if you are uploading an attachment directly from your Discord client.</p>
<div class="NOTE"><h5>note</h5><p>
If you wish to upload an image and have it embedded in a <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> embed,
you may upload the file and refer to the file with &quot;attachment://filename.ext&quot; in the
<a class="xref" href="Discord.EmbedBuilder.html#Discord_EmbedBuilder_ImageUrl">ImageUrl</a>. See the example section for its usage.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23SendFileAsync(System.String%2CSystem.String%2CSystem.Boolean%2CDiscord.Embed%2CDiscord.RequestOptions%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L203">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#SendFileAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#SendFileAsync(System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions,System.Boolean)">IMessageChannel.SendFileAsync(String, String, Boolean, Embed, RequestOptions, Boolean)</h4>
<div class="markdown level1 summary"><p>Sends a file to this message channel with an optional caption.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IUserMessage&gt; IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, Embed embed, RequestOptions options, bool isSpoiler)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">filePath</span></td>
<td><p>The file path of the file.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">text</span></td>
<td><p>The message to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isTTS</span></td>
<td><p>Whether the message should be read aloud by Discord or not.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Embed.html">Embed</a></td>
<td><span class="parametername">embed</span></td>
<td><p>The <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> <a class="xref" href="Discord.Embed.html">Embed</a> to be sent.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isSpoiler</span></td>
<td><p>Whether the message attachment should be hidden as a spoiler.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.IUserMessage.html">IUserMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendFileAsync_System_String_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_System_Boolean__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method sends a file as if you are uploading an attachment directly from your Discord client.</p>
<div class="NOTE"><h5>note</h5><p>
If you wish to upload an image and have it embedded in a <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> embed,
you may upload the file and refer to the file with &quot;attachment://filename.ext&quot; in the
<a class="xref" href="Discord.EmbedBuilder.html#Discord_EmbedBuilder_ImageUrl">ImageUrl</a>. See the example section for its usage.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendMessageAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IMessageChannel%23SendMessageAsync(System.String%2CSystem.Boolean%2CDiscord.Embed%2CDiscord.RequestOptions)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L209">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendMessageAsync_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#SendMessageAsync*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IMessageChannel_SendMessageAsync_System_String_System_Boolean_Discord_Embed_Discord_RequestOptions_" data-uid="Discord.Rest.RestDMChannel.Discord#IMessageChannel#SendMessageAsync(System.String,System.Boolean,Discord.Embed,Discord.RequestOptions)">IMessageChannel.SendMessageAsync(String, Boolean, Embed, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Sends a message to this message channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IUserMessage&gt; IMessageChannel.SendMessageAsync(string text, bool isTTS, Embed embed, RequestOptions options)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">text</span></td>
<td><p>The message to be sent.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">isTTS</span></td>
<td><p>Determines whether the message should be read aloud by Discord or not.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.Embed.html">Embed</a></td>
<td><span class="parametername">embed</span></td>
<td><p>The <a class="xref" href="Discord.EmbedType.html#Discord_EmbedType_Rich">Rich</a> <a class="xref" href="Discord.Embed.html">Embed</a> to be sent.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.RequestOptions.html">RequestOptions</a></td>
<td><span class="parametername">options</span></td>
<td><p>The options to be used when sending the request.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Threading.Tasks.Task</span>&lt;<a class="xref" href="Discord.IUserMessage.html">IUserMessage</a>&gt;</td>
<td><p>A task that represents an asynchronous send operation for delivering the message. The task result
contains the sent message.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_IPrivateChannel_Recipients.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23IPrivateChannel%23Recipients%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L164">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_IPrivateChannel_Recipients_" data-uid="Discord.Rest.RestDMChannel.Discord#IPrivateChannel#Recipients*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_IPrivateChannel_Recipients" data-uid="Discord.Rest.RestDMChannel.Discord#IPrivateChannel#Recipients">IPrivateChannel.Recipients</h4>
<div class="markdown level1 summary"><p>Gets the users that can access this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IReadOnlyCollection&lt;IUser&gt; IPrivateChannel.Recipients { get; }</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IUser.html">IUser</a>&gt;</td>
<td><p>A read-only collection of users that can access this channel.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel_Discord_Rest_IRestPrivateChannel_Recipients.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel.Discord%23Rest%23IRestPrivateChannel%23Recipients%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L160">View Source</a>
</span>
<a id="Discord_Rest_RestDMChannel_Discord_Rest_IRestPrivateChannel_Recipients_" data-uid="Discord.Rest.RestDMChannel.Discord#Rest#IRestPrivateChannel#Recipients*"></a>
<h4 id="Discord_Rest_RestDMChannel_Discord_Rest_IRestPrivateChannel_Recipients" data-uid="Discord.Rest.RestDMChannel.Discord#Rest#IRestPrivateChannel#Recipients">IRestPrivateChannel.Recipients</h4>
<div class="markdown level1 summary"><p>Users that can access this channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IReadOnlyCollection&lt;RestUser&gt; IRestPrivateChannel.Recipients { get; }</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.Rest.RestUser.html">RestUser</a>&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="implements">Implements</h3>
<div>
<a class="xref" href="Discord.IUpdateable.html">IUpdateable</a>
</div>
<div>
<a class="xref" href="Discord.IDMChannel.html">IDMChannel</a>
</div>
<div>
<a class="xref" href="Discord.Rest.IRestPrivateChannel.html">IRestPrivateChannel</a>
</div>
<div>
<a class="xref" href="Discord.IPrivateChannel.html">IPrivateChannel</a>
</div>
<div>
<a class="xref" href="Discord.Rest.IRestMessageChannel.html">IRestMessageChannel</a>
</div>
<div>
<a class="xref" href="Discord.IMessageChannel.html">IMessageChannel</a>
</div>
<div>
<a class="xref" href="Discord.IChannel.html">IChannel</a>
</div>
<div>
<a class="xref" href="Discord.ISnowflakeEntity.html">ISnowflakeEntity</a>
</div>
<div>
<a class="xref" href="Discord.IEntity-1.html">IEntity&lt;TId&gt;</a>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/goaaats/Discord.Net/new/819a325cec923e4a817ab2f08be5c7bbe0d775d0/apiSpec/new?filename=Discord_Rest_RestDMChannel.md&amp;value=---%0Auid%3A%20Discord.Rest.RestDMChannel%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li>
<li>
<a href="https://github.com/goaaats/Discord.Net/blob/819a325cec923e4a817ab2f08be5c7bbe0d775d0/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs/#L15" class="contribution-link">View Source</a>
</li>
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
<span>Generated by <strong>DocFX</strong></span>
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>