Dalamud/docs/api/Discord.WebSocket.DiscordSocketClient.html
2020-06-05 16:12:48 +02:00

2468 lines
131 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 DiscordSocketClient
</title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class DiscordSocketClient
">
<meta name="generator" content="docfx 2.48.1.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.WebSocket.DiscordSocketClient">
<h1 id="Discord_WebSocket_DiscordSocketClient" data-uid="Discord.WebSocket.DiscordSocketClient" class="text-break">Class DiscordSocketClient
</h1>
<div class="markdown level0 summary"><p>Represents a WebSocket-based Discord client.</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.BaseDiscordClient.html">BaseDiscordClient</a></div>
<div class="level2"><a class="xref" href="Discord.WebSocket.BaseSocketClient.html">BaseSocketClient</a></div>
<div class="level3"><span class="xref">DiscordSocketClient</span></div>
</div>
<div classs="implements">
<h5>Implements</h5>
<div><a class="xref" href="Discord.IDiscordClient.html">IDiscordClient</a></div>
<div><span class="xref">System.IDisposable</span></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_BaseConfig">BaseSocketClient.BaseConfig</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_CurrentUser">BaseSocketClient.CurrentUser</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_CreateGuildAsync_System_String_Discord_IVoiceRegion_System_IO_Stream_Discord_RequestOptions_">BaseSocketClient.CreateGuildAsync(String, IVoiceRegion, Stream, RequestOptions)</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetConnectionsAsync_Discord_RequestOptions_">BaseSocketClient.GetConnectionsAsync(RequestOptions)</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetInviteAsync_System_String_Discord_RequestOptions_">BaseSocketClient.GetInviteAsync(String, RequestOptions)</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_ChannelCreated">BaseSocketClient.ChannelCreated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_ChannelDestroyed">BaseSocketClient.ChannelDestroyed</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_ChannelUpdated">BaseSocketClient.ChannelUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_MessageReceived">BaseSocketClient.MessageReceived</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_MessageDeleted">BaseSocketClient.MessageDeleted</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_MessagesBulkDeleted">BaseSocketClient.MessagesBulkDeleted</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_MessageUpdated">BaseSocketClient.MessageUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_ReactionAdded">BaseSocketClient.ReactionAdded</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_ReactionRemoved">BaseSocketClient.ReactionRemoved</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_ReactionsCleared">BaseSocketClient.ReactionsCleared</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_RoleCreated">BaseSocketClient.RoleCreated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_RoleDeleted">BaseSocketClient.RoleDeleted</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_RoleUpdated">BaseSocketClient.RoleUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_JoinedGuild">BaseSocketClient.JoinedGuild</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_LeftGuild">BaseSocketClient.LeftGuild</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GuildAvailable">BaseSocketClient.GuildAvailable</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GuildUnavailable">BaseSocketClient.GuildUnavailable</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GuildMembersDownloaded">BaseSocketClient.GuildMembersDownloaded</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GuildUpdated">BaseSocketClient.GuildUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_UserJoined">BaseSocketClient.UserJoined</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_UserLeft">BaseSocketClient.UserLeft</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_UserBanned">BaseSocketClient.UserBanned</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_UserUnbanned">BaseSocketClient.UserUnbanned</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_UserUpdated">BaseSocketClient.UserUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GuildMemberUpdated">BaseSocketClient.GuildMemberUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_UserVoiceStateUpdated">BaseSocketClient.UserVoiceStateUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_VoiceServerUpdated">BaseSocketClient.VoiceServerUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_CurrentUserUpdated">BaseSocketClient.CurrentUserUpdated</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_UserIsTyping">BaseSocketClient.UserIsTyping</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_RecipientAdded">BaseSocketClient.RecipientAdded</a>
</div>
<div>
<a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_RecipientRemoved">BaseSocketClient.RecipientRemoved</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_Log">BaseDiscordClient.Log</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_LoggedIn">BaseDiscordClient.LoggedIn</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_LoggedOut">BaseDiscordClient.LoggedOut</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_LoginState">BaseDiscordClient.LoginState</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_TokenType">BaseDiscordClient.TokenType</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_LoginAsync_Discord_TokenType_System_String_System_Boolean_">BaseDiscordClient.LoginAsync(TokenType, String, Boolean)</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_LogoutAsync">BaseDiscordClient.LogoutAsync()</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_Dispose">BaseDiscordClient.Dispose()</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_GetRecommendedShardCountAsync_Discord_RequestOptions_">BaseDiscordClient.GetRecommendedShardCountAsync(RequestOptions)</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_Discord_IDiscordClient_ConnectionState">BaseDiscordClient.IDiscordClient.ConnectionState</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_Discord_IDiscordClient_CurrentUser">BaseDiscordClient.IDiscordClient.CurrentUser</a>
</div>
<div>
<a class="xref" href="Discord.Rest.BaseDiscordClient.html#Discord_Rest_BaseDiscordClient_Discord_IDiscordClient_GetWebhookAsync_System_UInt64_Discord_RequestOptions_">BaseDiscordClient.IDiscordClient.GetWebhookAsync(UInt64, RequestOptions)</a>
</div>
<div>
<span class="xref">System.Object.ToString()</span>
</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.WebSocket.html">Discord.WebSocket</a></h6>
<h6><strong>Assembly</strong>: Discord.Net.WebSocket.dll</h6>
<h5 id="Discord_WebSocket_DiscordSocketClient_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class DiscordSocketClient : BaseSocketClient, IDiscordClient, IDisposable</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient__ctor.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.%23ctor%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L115">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient__ctor_" data-uid="Discord.WebSocket.DiscordSocketClient.#ctor*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient__ctor" data-uid="Discord.WebSocket.DiscordSocketClient.#ctor">DiscordSocketClient()</h4>
<div class="markdown level1 summary"><p>Initializes a new REST/WebSocket-based Discord client.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public DiscordSocketClient()</code></pre>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient__ctor_Discord_WebSocket_DiscordSocketConfig_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.%23ctor(Discord.WebSocket.DiscordSocketConfig)%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L121">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient__ctor_" data-uid="Discord.WebSocket.DiscordSocketClient.#ctor*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient__ctor_Discord_WebSocket_DiscordSocketConfig_" data-uid="Discord.WebSocket.DiscordSocketClient.#ctor(Discord.WebSocket.DiscordSocketConfig)">DiscordSocketClient(DiscordSocketConfig)</h4>
<div class="markdown level1 summary"><p>Initializes a new REST/WebSocket-based Discord client with the provided configuration.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public DiscordSocketClient(DiscordSocketConfig config)</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.WebSocket.DiscordSocketConfig.html">DiscordSocketConfig</a></td>
<td><span class="parametername">config</span></td>
<td><p>The configuration to be used with the client.</p>
</td>
</tr>
</tbody>
</table>
<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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Activity.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Activity%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L61">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Activity_" data-uid="Discord.WebSocket.DiscordSocketClient.Activity*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Activity" data-uid="Discord.WebSocket.DiscordSocketClient.Activity">Activity</h4>
<div class="markdown level1 summary"><p>Gets the activity for the 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 override IActivity Activity { get; protected set; }</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.IActivity.html">IActivity</a></td>
<td><p>An activity object that represents the user's current activity.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_Activity">BaseSocketClient.Activity</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_ConnectionState.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.ConnectionState%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L55">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_ConnectionState_" data-uid="Discord.WebSocket.DiscordSocketClient.ConnectionState*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_ConnectionState" data-uid="Discord.WebSocket.DiscordSocketClient.ConnectionState">ConnectionState</h4>
<div class="markdown level1 summary"><p>Gets the current connection state of this client.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public ConnectionState ConnectionState { 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.ConnectionState.html">ConnectionState</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_DMChannels.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.DMChannels%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L92">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_DMChannels_" data-uid="Discord.WebSocket.DiscordSocketClient.DMChannels*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_DMChannels" data-uid="Discord.WebSocket.DiscordSocketClient.DMChannels">DMChannels</h4>
<div class="markdown level1 summary"><p>Gets a collection of direct message channels opened in this session.</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;SocketDMChannel&gt; DMChannels { 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.WebSocket.SocketDMChannel.html">SocketDMChannel</a>&gt;</td>
<td><p>A collection of DM channels that have been opened in this session.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_DMChannels_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method returns a collection of currently opened direct message channels.</p>
<div class="WARNING"><h5>warning</h5><p>
This method will not return previously opened DM channels outside of the current session! If you
have just started the client, this may return an empty collection.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_GroupChannels.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.GroupChannels%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L107">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_GroupChannels_" data-uid="Discord.WebSocket.DiscordSocketClient.GroupChannels*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_GroupChannels" data-uid="Discord.WebSocket.DiscordSocketClient.GroupChannels">GroupChannels</h4>
<div class="markdown level1 summary"><p>Gets a collection of group channels opened in this session.</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;SocketGroupChannel&gt; GroupChannels { 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.WebSocket.SocketGroupChannel.html">SocketGroupChannel</a>&gt;</td>
<td><p>A collection of group channels that have been opened in this session.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_GroupChannels_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method returns a collection of currently opened group channels.</p>
<div class="WARNING"><h5>warning</h5><p>
This method will not return previously opened group channels outside of the current session! If you
have just started the client, this may return an empty collection.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Guilds.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Guilds%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L76">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Guilds_" data-uid="Discord.WebSocket.DiscordSocketClient.Guilds*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Guilds" data-uid="Discord.WebSocket.DiscordSocketClient.Guilds">Guilds</h4>
<div class="markdown level1 summary"><p>Gets a collection of guilds that the user is currently in.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override IReadOnlyCollection&lt;SocketGuild&gt; Guilds { 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.WebSocket.SocketGuild.html">SocketGuild</a>&gt;</td>
<td><p>A read-only collection of guilds that the current user is in.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_Guilds">BaseSocketClient.Guilds</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Latency.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Latency%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L57">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Latency_" data-uid="Discord.WebSocket.DiscordSocketClient.Latency*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Latency" data-uid="Discord.WebSocket.DiscordSocketClient.Latency">Latency</h4>
<div class="markdown level1 summary"><p>Gets the estimated round-trip latency, in milliseconds, to the gateway server.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override int Latency { get; protected set; }</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.Int32</span></td>
<td><p>An <span class="xref">System.Int32</span> that represents the round-trip latency to the WebSocket server. Please
note that this value does not represent a &quot;true&quot; latency for operations such as sending a message.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_Latency">BaseSocketClient.Latency</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_PrivateChannels.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.PrivateChannels%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L78">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_PrivateChannels_" data-uid="Discord.WebSocket.DiscordSocketClient.PrivateChannels*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_PrivateChannels" data-uid="Discord.WebSocket.DiscordSocketClient.PrivateChannels">PrivateChannels</h4>
<div class="markdown level1 summary"><p>Gets a collection of private channels opened in this session.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override IReadOnlyCollection&lt;ISocketPrivateChannel&gt; PrivateChannels { 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.WebSocket.ISocketPrivateChannel.html">ISocketPrivateChannel</a>&gt;</td>
<td><p>A read-only collection of private channels that the user currently partakes in.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_PrivateChannels">BaseSocketClient.PrivateChannels</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_PrivateChannels_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method will retrieve all private channels (including direct-message, group channel and such) that
are currently opened in this session.</p>
<div class="WARNING"><h5>warning</h5><p>
This method will not return previously opened private channels outside of the current session! If
you have just started the client, this may return an empty collection.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Rest.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Rest%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L51">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Rest_" data-uid="Discord.WebSocket.DiscordSocketClient.Rest*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Rest" data-uid="Discord.WebSocket.DiscordSocketClient.Rest">Rest</h4>
<div class="markdown level1 summary"><p>Provides access to a REST-only client with a shared state from this client.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override DiscordSocketRestClient Rest { 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.WebSocket.DiscordSocketRestClient.html">DiscordSocketRestClient</a></td>
<td></td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_Rest">BaseSocketClient.Rest</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_ShardId.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.ShardId%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L53">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_ShardId_" data-uid="Discord.WebSocket.DiscordSocketClient.ShardId*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_ShardId" data-uid="Discord.WebSocket.DiscordSocketClient.ShardId">ShardId</h4>
<div class="markdown level1 summary"><p>Gets the shard of of this client.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int ShardId { 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.Int32</span></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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Status.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Status%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L59">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Status_" data-uid="Discord.WebSocket.DiscordSocketClient.Status*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Status" data-uid="Discord.WebSocket.DiscordSocketClient.Status">Status</h4>
<div class="markdown level1 summary"><p>Gets the status for the 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 override UserStatus Status { get; protected set; }</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.UserStatus.html">UserStatus</a></td>
<td><p>A status object that represents the user's online presence status.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_Status">BaseSocketClient.Status</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_VoiceRegions.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.VoiceRegions%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L110">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_VoiceRegions_" data-uid="Discord.WebSocket.DiscordSocketClient.VoiceRegions*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_VoiceRegions" data-uid="Discord.WebSocket.DiscordSocketClient.VoiceRegions">VoiceRegions</h4>
<div class="markdown level1 summary"><p>Gets a collection of available voice regions.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override IReadOnlyCollection&lt;RestVoiceRegion&gt; VoiceRegions { 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.RestVoiceRegion.html">RestVoiceRegion</a>&gt;</td>
<td><p>A read-only collection of voice regions that the user has access to.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_VoiceRegions">BaseSocketClient.VoiceRegions</a></div>
<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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_DownloadUsersAsync_System_Collections_Generic_IEnumerable_Discord_IGuild__.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.DownloadUsersAsync(System.Collections.Generic.IEnumerable%7BDiscord.IGuild%7D)%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L347">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_DownloadUsersAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.DownloadUsersAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_DownloadUsersAsync_System_Collections_Generic_IEnumerable_Discord_IGuild__" data-uid="Discord.WebSocket.DiscordSocketClient.DownloadUsersAsync(System.Collections.Generic.IEnumerable{Discord.IGuild})">DownloadUsersAsync(IEnumerable&lt;IGuild&gt;)</h4>
<div class="markdown level1 summary"><p>Attempts to download users into the user cache for the selected guilds.</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 DownloadUsersAsync(IEnumerable&lt;IGuild&gt; guilds)</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.Collections.Generic.IEnumerable</span>&lt;<a class="xref" href="Discord.IGuild.html">IGuild</a>&gt;</td>
<td><span class="parametername">guilds</span></td>
<td><p>The guilds to download the members from.</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 download operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_DownloadUsersAsync_System_Collections_Generic_IEnumerable_Discord_IGuild__">BaseSocketClient.DownloadUsersAsync(IEnumerable&lt;IGuild&gt;)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_GetApplicationInfoAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.GetApplicationInfoAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L299">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_GetApplicationInfoAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.GetApplicationInfoAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_GetApplicationInfoAsync_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.GetApplicationInfoAsync(Discord.RequestOptions)">GetApplicationInfoAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a Discord application information for the 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 override Task&lt;RestApplication&gt; GetApplicationInfoAsync(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;<a class="xref" href="Discord.Rest.RestApplication.html">RestApplication</a>&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains the application
information.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetApplicationInfoAsync_Discord_RequestOptions_">BaseSocketClient.GetApplicationInfoAsync(RequestOptions)</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_GetApplicationInfoAsync_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method reflects your application information you submitted when creating a Discord application via
the Developer Portal.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_GetChannel_System_UInt64_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.GetChannel(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L307">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_GetChannel_" data-uid="Discord.WebSocket.DiscordSocketClient.GetChannel*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_GetChannel_System_UInt64_" data-uid="Discord.WebSocket.DiscordSocketClient.GetChannel(System.UInt64)">GetChannel(UInt64)</h4>
<div class="markdown level1 summary"><p>Gets a channel.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override SocketChannel GetChannel(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 channel (e.g. <code>381889909113225237</code>).</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.WebSocket.SocketChannel.html">SocketChannel</a></td>
<td><p>A generic WebSocket-based channel object (voice, text, category, etc.) associated with the identifier;
<code>null</code> when the channel cannot be found.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetChannel_System_UInt64_">BaseSocketClient.GetChannel(UInt64)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_GetGuild_System_UInt64_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.GetGuild(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L303">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_GetGuild_" data-uid="Discord.WebSocket.DiscordSocketClient.GetGuild*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_GetGuild_System_UInt64_" data-uid="Discord.WebSocket.DiscordSocketClient.GetGuild(System.UInt64)">GetGuild(UInt64)</h4>
<div class="markdown level1 summary"><p>Gets a guild.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override SocketGuild GetGuild(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 guild snowflake identifier.</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.WebSocket.SocketGuild.html">SocketGuild</a></td>
<td><p>A WebSocket-based guild associated with the snowflake identifier; <code>null</code> when the guild cannot be
found.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetGuild_System_UInt64_">BaseSocketClient.GetGuild(UInt64)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_GetUser_System_String_System_String_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.GetUser(System.String%2CSystem.String)%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L314">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_GetUser_" data-uid="Discord.WebSocket.DiscordSocketClient.GetUser*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_GetUser_System_String_System_String_" data-uid="Discord.WebSocket.DiscordSocketClient.GetUser(System.String,System.String)">GetUser(String, String)</h4>
<div class="markdown level1 summary"><p>Gets a user.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override SocketUser GetUser(string username, string discriminator)</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">username</span></td>
<td><p>The name of the user.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">discriminator</span></td>
<td><p>The discriminator value 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.WebSocket.SocketUser.html">SocketUser</a></td>
<td><p>A generic WebSocket-based user; <code>null</code> when the user cannot be found.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetUser_System_String_System_String_">BaseSocketClient.GetUser(String, String)</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_GetUser_System_String_System_String__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method gets the user present in the WebSocket cache with the given condition.</p>
<div class="WARNING"><h5>warning</h5><p>
Sometimes a user may return <code>null</code> due to Discord not sending offline users in large guilds
(i.e. guild with 100+ members) actively. To download users on startup and to see more information
about this subject, see <a class="xref" href="Discord.WebSocket.DiscordSocketConfig.html#Discord_WebSocket_DiscordSocketConfig_AlwaysDownloadUsers">AlwaysDownloadUsers</a>.
</p></div>
<div class="NOTE"><h5>note</h5><p>
This method does not attempt to fetch users that the logged-in user does not have access to (i.e.
users who don&apos;t share mutual guild(s) with the current user). If you wish to get a user that you do
not have access to, consider using the REST implementation of
<a class="xref" href="Discord.Rest.DiscordRestClient.html#Discord_Rest_DiscordRestClient_GetUserAsync_System_UInt64_Discord_RequestOptions_">GetUserAsync(UInt64, RequestOptions)</a>.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_GetUser_System_UInt64_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L311">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_GetUser_" data-uid="Discord.WebSocket.DiscordSocketClient.GetUser*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_GetUser_System_UInt64_" data-uid="Discord.WebSocket.DiscordSocketClient.GetUser(System.UInt64)">GetUser(UInt64)</h4>
<div class="markdown level1 summary"><p>Gets a generic user.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override SocketUser 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 user snowflake ID.</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.WebSocket.SocketUser.html">SocketUser</a></td>
<td><p>A generic WebSocket-based user; <code>null</code> when the user cannot be found.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetUser_System_UInt64_">BaseSocketClient.GetUser(UInt64)</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_GetUser_System_UInt64__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method gets the user present in the WebSocket cache with the given condition.</p>
<div class="WARNING"><h5>warning</h5><p>
Sometimes a user may return <code>null</code> due to Discord not sending offline users in large guilds
(i.e. guild with 100+ members) actively. To download users on startup and to see more information
about this subject, see <a class="xref" href="Discord.WebSocket.DiscordSocketConfig.html#Discord_WebSocket_DiscordSocketConfig_AlwaysDownloadUsers">AlwaysDownloadUsers</a>.
</p></div>
<div class="NOTE"><h5>note</h5><p>
This method does not attempt to fetch users that the logged-in user does not have access to (i.e.
users who don&apos;t share mutual guild(s) with the current user). If you wish to get a user that you do
not have access to, consider using the REST implementation of
<a class="xref" href="Discord.Rest.DiscordRestClient.html#Discord_Rest_DiscordRestClient_GetUserAsync_System_UInt64_Discord_RequestOptions_">GetUserAsync(UInt64, RequestOptions)</a>.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_GetVoiceRegion_System_String_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.GetVoiceRegion(System.String)%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L339">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_GetVoiceRegion_" data-uid="Discord.WebSocket.DiscordSocketClient.GetVoiceRegion*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_GetVoiceRegion_System_String_" data-uid="Discord.WebSocket.DiscordSocketClient.GetVoiceRegion(System.String)">GetVoiceRegion(String)</h4>
<div class="markdown level1 summary"><p>Gets a voice region.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override RestVoiceRegion GetVoiceRegion(string 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.String</span></td>
<td><span class="parametername">id</span></td>
<td><p>The identifier of the voice region (e.g. <code>eu-central</code> ).</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.RestVoiceRegion.html">RestVoiceRegion</a></td>
<td><p>A REST-based voice region associated with the identifier; <code>null</code> if the voice region is not
found.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_GetVoiceRegion_System_String_">BaseSocketClient.GetVoiceRegion(String)</a></div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_SetActivityAsync_Discord_IActivity_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.SetActivityAsync(Discord.IActivity)%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L427">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_SetActivityAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.SetActivityAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_SetActivityAsync_Discord_IActivity_" data-uid="Discord.WebSocket.DiscordSocketClient.SetActivityAsync(Discord.IActivity)">SetActivityAsync(IActivity)</h4>
<div class="markdown level1 summary"><p>Sets the <code data-dev-comment-type="paramref" class="paramref">activity</code> of the 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 override Task SetActivityAsync(IActivity activity)</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.IActivity.html">IActivity</a></td>
<td><span class="parametername">activity</span></td>
<td><p>The activity to be set.</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 set operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_SetActivityAsync_Discord_IActivity_">BaseSocketClient.SetActivityAsync(IActivity)</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_SetActivityAsync_Discord_IActivity__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method sets the <code data-dev-comment-type="paramref" class="paramref">activity</code> of the user.</p>
<div class="NOTE"><h5>note</h5><p>
Discord will only accept setting of name and the type of activity.
</p></div>
<div class="WARNING"><h5>warning</h5><p>
Rich Presence cannot be set via this method or client. Rich Presence is strictly limited to RPC
clients only.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_SetGameAsync_System_String_System_String_Discord_ActivityType_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.SetGameAsync(System.String%2CSystem.String%2CDiscord.ActivityType)%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L416">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_SetGameAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.SetGameAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_SetGameAsync_System_String_System_String_Discord_ActivityType_" data-uid="Discord.WebSocket.DiscordSocketClient.SetGameAsync(System.String,System.String,Discord.ActivityType)">SetGameAsync(String, String, ActivityType)</h4>
<div class="markdown level1 summary"><p>Sets the game of the user.</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 SetGameAsync(string name, string streamUrl = null, ActivityType type = ActivityType.Playing)</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">name</span></td>
<td><p>The name of the game.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">streamUrl</span></td>
<td><p>If streaming, the URL of the stream. Must be a valid Twitch URL.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.ActivityType.html">ActivityType</a></td>
<td><span class="parametername">type</span></td>
<td><p>The type of the game.</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 set operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_SetGameAsync_System_String_System_String_Discord_ActivityType_">BaseSocketClient.SetGameAsync(String, String, ActivityType)</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_SetGameAsync_System_String_System_String_Discord_ActivityType__examples">Examples</h5>
<p>
The following example sets the activity of the current user to the specified game name.
<pre><code class="lang-cs">await client.SetGameAsync(&quot;A Strange Game&quot;);</code></pre>
</p>
<p>
The following example sets the activity of the current user to a streaming status.
<pre><code class="lang-cs">await client.SetGameAsync(&quot;Great Stream 10/10&quot;, &quot;https://twitch.tv/MyAmazingStream1337&quot;, ActivityType.Streaming);</code></pre>
</p>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_SetStatusAsync_Discord_UserStatus_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.SetStatusAsync(Discord.UserStatus)%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L392">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_SetStatusAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.SetStatusAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_SetStatusAsync_Discord_UserStatus_" data-uid="Discord.WebSocket.DiscordSocketClient.SetStatusAsync(Discord.UserStatus)">SetStatusAsync(UserStatus)</h4>
<div class="markdown level1 summary"><p>Sets the current status of the user (e.g. Online, Do not Disturb).</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 SetStatusAsync(UserStatus status)</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.UserStatus.html">UserStatus</a></td>
<td><span class="parametername">status</span></td>
<td><p>The new status to be set.</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 set operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_SetStatusAsync_Discord_UserStatus_">BaseSocketClient.SetStatusAsync(UserStatus)</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_SetStatusAsync_Discord_UserStatus__examples">Examples</h5>
<p>The following example sets the status of the current user to Do Not Disturb.</p>
<pre><code class="lang-cs">await client.SetStatusAsync(UserStatus.DoNotDisturb);</code></pre>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_StartAsync.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.StartAsync%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L222">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_StartAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.StartAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_StartAsync" data-uid="Discord.WebSocket.DiscordSocketClient.StartAsync">StartAsync()</h4>
<div class="markdown level1 summary"><p>Starts the connection between Discord and the client..</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 StartAsync()</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.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous start operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_StartAsync">BaseSocketClient.StartAsync()</a></div>
<h5 id="Discord_WebSocket_DiscordSocketClient_StartAsync_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method will initialize the connection between the client and Discord.</p>
<div class="IMPORTANT"><h5>important</h5><p>
This method will immediately return after it is called, as it will initialize the connection on
another thread.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_StopAsync.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.StopAsync%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L225">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_StopAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.StopAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_StopAsync" data-uid="Discord.WebSocket.DiscordSocketClient.StopAsync">StopAsync()</h4>
<div class="markdown level1 summary"><p>Stops the connection between Discord and the client.</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 StopAsync()</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.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous stop operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="Discord.WebSocket.BaseSocketClient.html#Discord_WebSocket_BaseSocketClient_StopAsync">BaseSocketClient.StopAsync()</a></div>
<h3 id="events">Events
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Connected.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Connected%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.Events.cs/#L11">View Source</a>
</span>
<h4 id="Discord_WebSocket_DiscordSocketClient_Connected" data-uid="Discord.WebSocket.DiscordSocketClient.Connected">Connected</h4>
<div class="markdown level1 summary"><p>Fired when connected to the Discord gateway.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event Func&lt;Task&gt; Connected</code></pre>
</div>
<h5 class="eventType">Event Type</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.Func</span>&lt;<span class="xref">System.Threading.Tasks.Task</span>&gt;</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Disconnected.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Disconnected%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.Events.cs/#L18">View Source</a>
</span>
<h4 id="Discord_WebSocket_DiscordSocketClient_Disconnected" data-uid="Discord.WebSocket.DiscordSocketClient.Disconnected">Disconnected</h4>
<div class="markdown level1 summary"><p>Fired when disconnected to the Discord gateway.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event Func&lt;Exception, Task&gt; Disconnected</code></pre>
</div>
<h5 class="eventType">Event Type</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.Func</span>&lt;<span class="xref">System.Exception</span>, <span class="xref">System.Threading.Tasks.Task</span>&gt;</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_LatencyUpdated.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.LatencyUpdated%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.Events.cs/#L32">View Source</a>
</span>
<h4 id="Discord_WebSocket_DiscordSocketClient_LatencyUpdated" data-uid="Discord.WebSocket.DiscordSocketClient.LatencyUpdated">LatencyUpdated</h4>
<div class="markdown level1 summary"><p>Fired when a heartbeat is received from the Discord gateway.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event Func&lt;int, int, Task&gt; LatencyUpdated</code></pre>
</div>
<h5 class="eventType">Event Type</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.Func</span>&lt;<span class="xref">System.Int32</span>, <span class="xref">System.Int32</span>, <span class="xref">System.Threading.Tasks.Task</span>&gt;</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Ready.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Ready%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.Events.cs/#L25">View Source</a>
</span>
<h4 id="Discord_WebSocket_DiscordSocketClient_Ready" data-uid="Discord.WebSocket.DiscordSocketClient.Ready">Ready</h4>
<div class="markdown level1 summary"><p>Fired when guild data has finished downloading.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public event Func&lt;Task&gt; Ready</code></pre>
</div>
<h5 class="eventType">Event Type</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.Func</span>&lt;<span class="xref">System.Threading.Tasks.Task</span>&gt;</td>
<td></td>
</tr>
</tbody>
</table>
<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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_CreateGuildAsync_System_String_Discord_IVoiceRegion_System_IO_Stream_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23CreateGuildAsync(System.String%2CDiscord.IVoiceRegion%2CSystem.IO.Stream%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1978">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_CreateGuildAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#CreateGuildAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_CreateGuildAsync_System_String_Discord_IVoiceRegion_System_IO_Stream_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#CreateGuildAsync(System.String,Discord.IVoiceRegion,System.IO.Stream,Discord.RequestOptions)">IDiscordClient.CreateGuildAsync(String, IVoiceRegion, Stream, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Creates a guild for the logged-in user who is in less than 10 active guilds.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IGuild&gt; IDiscordClient.CreateGuildAsync(string name, IVoiceRegion region, Stream jpegIcon, 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">name</span></td>
<td><p>The name of the new guild.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Discord.IVoiceRegion.html">IVoiceRegion</a></td>
<td><span class="parametername">region</span></td>
<td><p>The voice region to create the guild with.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.IO.Stream</span></td>
<td><span class="parametername">jpegIcon</span></td>
<td><p>The icon of the guild.</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.IGuild.html">IGuild</a>&gt;</td>
<td><p>A task that represents the asynchronous creation operation. The task result contains the created guild.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_CreateGuildAsync_System_String_Discord_IVoiceRegion_System_IO_Stream_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method creates a new guild on behalf of the logged-in user.</p>
<div class="WARNING"><h5>warning</h5><p>
Due to Discord&apos;s limitation, this method will only work for users that are in less than 10 guilds.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetApplicationInfoAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetApplicationInfoAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1947">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetApplicationInfoAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetApplicationInfoAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetApplicationInfoAsync_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetApplicationInfoAsync(Discord.RequestOptions)">IDiscordClient.GetApplicationInfoAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a Discord application information for the 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">Task&lt;IApplication&gt; IDiscordClient.GetApplicationInfoAsync(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;<a class="xref" href="Discord.IApplication.html">IApplication</a>&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains the application
information.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetApplicationInfoAsync_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method reflects your application information you submitted when creating a Discord application via
the Developer Portal.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetChannelAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetChannelAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1951">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetChannelAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetChannelAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetChannelAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetChannelAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">IDiscordClient.GetChannelAsync(UInt64, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a generic 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;IChannel&gt; IDiscordClient.GetChannelAsync(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 channel (e.g. <code>381889909113225237</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.IChannel.html">IChannel</a>&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains the channel associated
with the snowflake identifier; <code>null</code> when the channel cannot be 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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetConnectionsAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetConnectionsAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1964">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetConnectionsAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetConnectionsAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetConnectionsAsync_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetConnectionsAsync(Discord.RequestOptions)">IDiscordClient.GetConnectionsAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets the connections that the user has set up.</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;IConnection&gt;&gt; IDiscordClient.GetConnectionsAsync(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.IConnection.html">IConnection</a>&gt;&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains a read-only collection of connections.</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetDMChannelsAsync_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetDMChannelsAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1957">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetDMChannelsAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetDMChannelsAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetDMChannelsAsync_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetDMChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">IDiscordClient.GetDMChannelsAsync(CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of direct message channels opened in this session.</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;IDMChannel&gt;&gt; IDiscordClient.GetDMChannelsAsync(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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IDMChannel.html">IDMChannel</a>&gt;&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains a read-only collection
of direct-message channels that the user currently partakes in.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetDMChannelsAsync_Discord_CacheMode_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method returns a collection of currently opened direct message channels.</p>
<div class="WARNING"><h5>warning</h5><p>
This method will not return previously opened DM channels outside of the current session! If you
have just started the client, this may return an empty collection.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGroupChannelsAsync_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetGroupChannelsAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1960">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGroupChannelsAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetGroupChannelsAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGroupChannelsAsync_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetGroupChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">IDiscordClient.GetGroupChannelsAsync(CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of group channels opened in this session.</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;IGroupChannel&gt;&gt; IDiscordClient.GetGroupChannelsAsync(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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IGroupChannel.html">IGroupChannel</a>&gt;&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains a read-only collection
of group channels that the user currently partakes in.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGroupChannelsAsync_Discord_CacheMode_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method returns a collection of currently opened group channels.</p>
<div class="WARNING"><h5>warning</h5><p>
This method will not return previously opened group channels outside of the current session! If you
have just started the client, this may return an empty collection.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGuildAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetGuildAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1972">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGuildAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetGuildAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGuildAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetGuildAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">IDiscordClient.GetGuildAsync(UInt64, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a guild.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IGuild&gt; IDiscordClient.GetGuildAsync(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 guild snowflake identifier.</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.IGuild.html">IGuild</a>&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains the guild associated
with the snowflake identifier; <code>null</code> when the guild cannot be 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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGuildsAsync_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetGuildsAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1975">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGuildsAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetGuildsAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetGuildsAsync_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetGuildsAsync(Discord.CacheMode,Discord.RequestOptions)">IDiscordClient.GetGuildsAsync(CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of guilds that the user is currently in.</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;IGuild&gt;&gt; IDiscordClient.GetGuildsAsync(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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IGuild.html">IGuild</a>&gt;&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains a read-only collection
of guilds that the current user is in.</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetInviteAsync_System_String_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetInviteAsync(System.String%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1968">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetInviteAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetInviteAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetInviteAsync_System_String_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetInviteAsync(System.String,Discord.RequestOptions)">IDiscordClient.GetInviteAsync(String, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets an invite.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IInvite&gt; IDiscordClient.GetInviteAsync(string inviteId, 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">inviteId</span></td>
<td><p>The invitation identifier.</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.IInvite.html">IInvite</a>&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains the invite information.</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetPrivateChannelsAsync_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetPrivateChannelsAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1954">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetPrivateChannelsAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetPrivateChannelsAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetPrivateChannelsAsync_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetPrivateChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">IDiscordClient.GetPrivateChannelsAsync(CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of private channels opened in this session.</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;IPrivateChannel&gt;&gt; IDiscordClient.GetPrivateChannelsAsync(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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.IReadOnlyCollection</span>&lt;<a class="xref" href="Discord.IPrivateChannel.html">IPrivateChannel</a>&gt;&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains a read-only collection
of private channels that the user currently partakes in.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetPrivateChannelsAsync_Discord_CacheMode_Discord_RequestOptions__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method will retrieve all private channels (including direct-message, group channel and such) that
are currently opened in this session.</p>
<div class="WARNING"><h5>warning</h5><p>
This method will not return previously opened private channels outside of the current session! If
you have just started the client, this may return an empty collection.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetUserAsync_System_String_System_String_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetUserAsync(System.String%2CSystem.String%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1985">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetUserAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetUserAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetUserAsync_System_String_System_String_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetUserAsync(System.String,System.String,Discord.RequestOptions)">IDiscordClient.GetUserAsync(String, String, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a user.</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; IDiscordClient.GetUserAsync(string username, string discriminator, 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">username</span></td>
<td><p>The name of the user (e.g. <code>Still</code>).</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">discriminator</span></td>
<td><p>The discriminator value of the user (e.g. <code>2876</code>).</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 the user associated with
the name and the discriminator; <code>null</code> if the user is not 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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetUserAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1982">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetUserAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetUserAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetUserAsync_System_UInt64_Discord_CacheMode_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetUserAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">IDiscordClient.GetUserAsync(UInt64, CacheMode, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a user.</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; IDiscordClient.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 the user associated with
the snowflake identifier; <code>null</code> if the user is not 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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetVoiceRegionAsync_System_String_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetVoiceRegionAsync(System.String%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1992">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetVoiceRegionAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetVoiceRegionAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetVoiceRegionAsync_System_String_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetVoiceRegionAsync(System.String,Discord.RequestOptions)">IDiscordClient.GetVoiceRegionAsync(String, RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a voice region.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task&lt;IVoiceRegion&gt; IDiscordClient.GetVoiceRegionAsync(string id, 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">id</span></td>
<td><p>The identifier of the voice region (e.g. <code>eu-central</code> ).</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.IVoiceRegion.html">IVoiceRegion</a>&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains the voice region
associated with the identifier; <code>null</code> if the voice region is not 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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetVoiceRegionsAsync_Discord_RequestOptions_.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23GetVoiceRegionsAsync(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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1989">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetVoiceRegionsAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetVoiceRegionsAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_GetVoiceRegionsAsync_Discord_RequestOptions_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#GetVoiceRegionsAsync(Discord.RequestOptions)">IDiscordClient.GetVoiceRegionsAsync(RequestOptions)</h4>
<div class="markdown level1 summary"><p>Gets a collection of the available voice regions.</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;IVoiceRegion&gt;&gt; IDiscordClient.GetVoiceRegionsAsync(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.IVoiceRegion.html">IVoiceRegion</a>&gt;&gt;</td>
<td><p>A task that represents the asynchronous get operation. The task result contains a read-only collection
with all of the available voice regions in this session.</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_StartAsync.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23StartAsync%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1996">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_StartAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#StartAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_StartAsync" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#StartAsync">IDiscordClient.StartAsync()</h4>
<div class="markdown level1 summary"><p>Starts the connection between Discord and the client..</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task IDiscordClient.StartAsync()</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.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous start operation.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_StartAsync_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method will initialize the connection between the client and Discord.</p>
<div class="IMPORTANT"><h5>important</h5><p>
This method will immediately return after it is called, as it will initialize the connection on
another thread.
</p></div>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goaaats/Discord.Net/new/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_StopAsync.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient.Discord%23IDiscordClient%23StopAsync%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.cs/#L1999">View Source</a>
</span>
<a id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_StopAsync_" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#StopAsync*"></a>
<h4 id="Discord_WebSocket_DiscordSocketClient_Discord_IDiscordClient_StopAsync" data-uid="Discord.WebSocket.DiscordSocketClient.Discord#IDiscordClient#StopAsync">IDiscordClient.StopAsync()</h4>
<div class="markdown level1 summary"><p>Stops the connection between Discord and the client.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Task IDiscordClient.StopAsync()</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.Threading.Tasks.Task</span></td>
<td><p>A task that represents the asynchronous stop operation.</p>
</td>
</tr>
</tbody>
</table>
<h3 id="implements">Implements</h3>
<div>
<a class="xref" href="Discord.IDiscordClient.html">IDiscordClient</a>
</div>
<div>
<span class="xref">System.IDisposable</span>
</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/dev/apiSpec/new?filename=Discord_WebSocket_DiscordSocketClient.md&amp;value=---%0Auid%3A%20Discord.WebSocket.DiscordSocketClient%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/dev/src/Discord.Net.WebSocket/DiscordSocketClient.Events.cs/#L7" 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>