<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Discord.Net.Core</name>
    </assembly>
    <members>
        <member name="M:Discord.Audio.AudioOutStream.Read(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Reading this stream is not supported.</exception>
        </member>
        <member name="M:Discord.Audio.AudioOutStream.SetLength(System.Int64)">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Setting the length to this stream is not supported.</exception>
        </member>
        <member name="M:Discord.Audio.AudioOutStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Seeking this stream is not supported..</exception>
        </member>
        <member name="M:Discord.Audio.AudioStream.WriteHeader(System.UInt16,System.UInt32,System.Boolean)">
            <exception cref="T:System.InvalidOperationException">This stream does not accept headers.</exception>
        </member>
        <member name="P:Discord.Audio.AudioStream.Length">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Reading stream length is not supported.</exception>
        </member>
        <member name="P:Discord.Audio.AudioStream.Position">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Getting or setting this stream position is not supported.</exception>
        </member>
        <member name="M:Discord.Audio.AudioStream.Read(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Reading this stream is not supported.</exception>
        </member>
        <member name="M:Discord.Audio.AudioStream.SetLength(System.Int64)">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Setting the length to this stream is not supported.</exception>
        </member>
        <member name="M:Discord.Audio.AudioStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <inheritdoc />
            <exception cref="T:System.NotSupportedException">Seeking this stream is not supported..</exception>
        </member>
        <member name="P:Discord.Audio.IAudioClient.ConnectionState">
            <summary> Gets the current connection state of this client. </summary>
        </member>
        <member name="P:Discord.Audio.IAudioClient.Latency">
            <summary> Gets the estimated round-trip latency, in milliseconds, to the voice WebSocket server. </summary>
        </member>
        <member name="P:Discord.Audio.IAudioClient.UdpLatency">
            <summary> Gets the estimated round-trip latency, in milliseconds, to the voice UDP server. </summary>
        </member>
        <member name="M:Discord.Audio.IAudioClient.CreateOpusStream(System.Int32)">
            <summary>Creates a new outgoing stream accepting Opus-encoded data.</summary>
        </member>
        <member name="M:Discord.Audio.IAudioClient.CreateDirectOpusStream">
            <summary>Creates a new outgoing stream accepting Opus-encoded data. This is a direct stream with no internal timer.</summary>
        </member>
        <member name="M:Discord.Audio.IAudioClient.CreatePCMStream(Discord.Audio.AudioApplication,System.Nullable{System.Int32},System.Int32,System.Int32)">
            <summary>Creates a new outgoing stream accepting PCM (raw) data.</summary>
        </member>
        <member name="M:Discord.Audio.IAudioClient.CreateDirectPCMStream(Discord.Audio.AudioApplication,System.Nullable{System.Int32},System.Int32)">
            <summary>Creates a new direct outgoing stream accepting PCM (raw) data. This is a direct stream with no internal timer.</summary>
        </member>
        <member name="T:Discord.CDN">
            <summary>
                Represents a class containing the strings related to various Content Delivery Networks (CDNs).
            </summary>
        </member>
        <member name="M:Discord.CDN.GetApplicationIconUrl(System.UInt64,System.String)">
            <summary>
                Returns an application icon URL.
            </summary>
            <param name="appId">The application identifier.</param>
            <param name="iconId">The icon identifier.</param>
            <returns>
                A URL pointing to the application's icon.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetUserAvatarUrl(System.UInt64,System.String,System.UInt16,Discord.ImageFormat)">
            <summary>
                Returns a user avatar URL.
            </summary>
            <param name="userId">The user snowflake identifier.</param>
            <param name="avatarId">The avatar identifier.</param>
            <param name="size">The size of the image to return in. This can be any power of two between 16 and 2048.</param>
            <param name="format">The format to return.</param>
            <returns>
                A URL pointing to the user's avatar in the specified size.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetDefaultUserAvatarUrl(System.UInt16)">
            <summary>
                Returns the default user avatar URL.
            </summary>
            <param name="discriminator">The discriminator value of a user.</param>
            <returns>
                A URL pointing to the user's default avatar when one isn't set.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetGuildIconUrl(System.UInt64,System.String)">
            <summary>
                Returns an icon URL.
            </summary>
            <param name="guildId">The guild snowflake identifier.</param>
            <param name="iconId">The icon identifier.</param>
            <returns>
                A URL pointing to the guild's icon.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetGuildSplashUrl(System.UInt64,System.String)">
            <summary>
                Returns a guild splash URL.
            </summary>
            <param name="guildId">The guild snowflake identifier.</param>
            <param name="splashId">The splash icon identifier.</param>
            <returns>
                A URL pointing to the guild's icon.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetChannelIconUrl(System.UInt64,System.String)">
            <summary>
                Returns a channel icon URL.
            </summary>
            <param name="channelId">The channel snowflake identifier.</param>
            <param name="iconId">The icon identifier.</param>
            <returns>
                A URL pointing to the channel's icon.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetEmojiUrl(System.UInt64,System.Boolean)">
            <summary>
                Returns an emoji URL.
            </summary>
            <param name="emojiId">The emoji snowflake identifier.</param>
            <param name="animated">Whether this emoji is animated.</param>
            <returns>
                A URL pointing to the custom emote.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetRichAssetUrl(System.UInt64,System.String,System.UInt16,Discord.ImageFormat)">
            <summary>
                Returns a Rich Presence asset URL.
            </summary>
            <param name="appId">The application identifier.</param>
            <param name="assetId">The asset identifier.</param>
            <param name="size">The size of the image to return in. This can be any power of two between 16 and 2048.</param>
            <param name="format">The format to return.</param>
            <returns>
                A URL pointing to the asset image in the specified size.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetSpotifyAlbumArtUrl(System.String)">
            <summary>
                Returns a Spotify album URL.
            </summary>
            <param name="albumArtId">The identifier for the album art (e.g. 6be8f4c8614ecf4f1dd3ebba8d8692d8ce4951ac).</param>
            <returns>
                A URL pointing to the Spotify album art.
            </returns>
        </member>
        <member name="M:Discord.CDN.GetSpotifyDirectUrl(System.String)">
            <summary>
                Returns a Spotify direct URL for a track.
            </summary>
            <param name="trackId">The identifier for the track (e.g. 4uLU6hMCjMI75M1A2tKUQC).</param>
            <returns>
                A URL pointing to the Spotify track.
            </returns>
        </member>
        <member name="T:Discord.Commands.ICommandContext">
            <summary>
                Represents a context of a command. This may include the client, guild, channel, user, and message.
            </summary>
        </member>
        <member name="P:Discord.Commands.ICommandContext.Client">
            <summary>
                Gets the <see cref="T:Discord.IDiscordClient" /> that the command is executed with.
            </summary>
        </member>
        <member name="P:Discord.Commands.ICommandContext.Guild">
            <summary>
                Gets the <see cref="T:Discord.IGuild" /> that the command is executed in.
            </summary>
        </member>
        <member name="P:Discord.Commands.ICommandContext.Channel">
            <summary>
                Gets the <see cref="T:Discord.IMessageChannel" /> that the command is executed in.
            </summary>
        </member>
        <member name="P:Discord.Commands.ICommandContext.User">
            <summary>
                Gets the <see cref="T:Discord.IUser" /> who executed the command.
            </summary>
        </member>
        <member name="P:Discord.Commands.ICommandContext.Message">
            <summary>
                Gets the <see cref="T:Discord.IUserMessage" /> that the command is interpreted from.
            </summary>
        </member>
        <member name="T:Discord.ConnectionState">
            <summary> Specifies the connection state of a client. </summary>
        </member>
        <member name="F:Discord.ConnectionState.Disconnected">
            <summary> The client has disconnected from Discord. </summary>
        </member>
        <member name="F:Discord.ConnectionState.Connecting">
            <summary> The client is connecting to Discord. </summary>
        </member>
        <member name="F:Discord.ConnectionState.Connected">
            <summary> The client has established a connection to Discord. </summary>
        </member>
        <member name="F:Discord.ConnectionState.Disconnecting">
            <summary> The client is disconnecting from Discord. </summary>
        </member>
        <member name="T:Discord.DiscordConfig">
            <summary>
                Defines various behaviors of Discord.Net.
            </summary>
        </member>
        <member name="F:Discord.DiscordConfig.APIVersion">
            <summary> 
                Returns the API version Discord.Net uses. 
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the API version that Discord.Net uses to communicate with Discord.
                <para>A list of available API version can be seen on the official 
                <see href="https://discordapp.com/developers/docs/reference#api-versioning">Discord API documentation</see>
                .</para>
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.VoiceAPIVersion">
            <summary>
            Returns the Voice API version Discord.Net uses.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the API version that Discord.Net uses to communicate with Discord's
                voice server.
            </returns>
        </member>
        <member name="P:Discord.DiscordConfig.Version">
            <summary>
                Gets the Discord.Net version, including the build number.
            </summary>
            <returns>
                A string containing the detailed version information, including its build number; <c>Unknown</c> when
                the version fails to be fetched.
            </returns>
        </member>
        <member name="P:Discord.DiscordConfig.UserAgent">
            <summary>
                Gets the user agent that Discord.Net uses in its clients.
            </summary>
            <returns>
                The user agent used in each Discord.Net request.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.APIUrl">
            <summary>
                Returns the base Discord API URL.
            </summary>
            <returns>
                The Discord API URL using <see cref="F:Discord.DiscordConfig.APIVersion"/>.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.CDNUrl">
            <summary> 
                Returns the base Discord CDN URL. 
            </summary>
            <returns>
                The base Discord Content Delivery Network (CDN) URL.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.InviteUrl">
            <summary> 
                Returns the base Discord invite URL.
            </summary>
            <returns>
                The base Discord invite URL.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.DefaultRequestTimeout">
            <summary> 
                Returns the default timeout for requests. 
            </summary>
            <returns>
                The amount of time it takes in milliseconds before a request is timed out.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.MaxMessageSize">
            <summary> 
                Returns the max length for a Discord message. 
            </summary>
            <returns>
                The maximum length of a message allowed by Discord.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.MaxMessagesPerBatch">
            <summary> 
                Returns the max messages allowed to be in a request. 
            </summary>
            <returns>
                The maximum number of messages that can be gotten per-batch.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.MaxUsersPerBatch">
            <summary> 
                Returns the max users allowed to be in a request.
            </summary>
            <returns>
                The maximum number of users that can be gotten per-batch.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.MaxGuildsPerBatch">
            <summary> 
                Returns the max guilds allowed to be in a request. 
            </summary>
            <returns>
                The maximum number of guilds that can be gotten per-batch.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.MaxUserReactionsPerBatch">
            <summary>
                Returns the max user reactions allowed to be in a request.
            </summary>
            <returns>
                The maximum number of user reactions that can be gotten per-batch.
            </returns>
        </member>
        <member name="F:Discord.DiscordConfig.MaxAuditLogEntriesPerBatch">
            <summary> 
                Returns the max audit log entries allowed to be in a request. 
            </summary>
            <returns>
                The maximum number of audit log entries that can be gotten per-batch.
            </returns>
        </member>
        <member name="P:Discord.DiscordConfig.DefaultRetryMode">
            <summary>
                Gets or sets how a request should act in the case of an error, by default.
            </summary>
            <returns>
                The currently set <see cref="T:Discord.RetryMode"/>.
            </returns>
        </member>
        <member name="P:Discord.DiscordConfig.LogLevel">
            <summary>
                Gets or sets the minimum log level severity that will be sent to the Log event.
            </summary>
            <returns>
                The currently set <see cref="T:Discord.LogSeverity"/> for logging level.
            </returns>
        </member>
        <member name="P:Discord.DiscordConfig.DisplayInitialLog">
            <summary>
                Gets or sets whether the initial log entry should be printed.
            </summary>
            <remarks>
                If set to <c>true</c>, the library will attempt to print the current version of the library, as well as
                the API version it uses on startup.
            </remarks>
        </member>
        <member name="T:Discord.ActivityType">
            <summary>
                Specifies a Discord user's activity type.
            </summary>
        </member>
        <member name="F:Discord.ActivityType.Playing">
            <summary>
                The user is playing a game.
            </summary>
        </member>
        <member name="F:Discord.ActivityType.Streaming">
            <summary>
                The user is streaming online.
            </summary>
        </member>
        <member name="F:Discord.ActivityType.Listening">
            <summary>
                The user is listening to a song.
            </summary>
        </member>
        <member name="F:Discord.ActivityType.Watching">
            <summary>
                The user is watching a media.
            </summary>
        </member>
        <member name="T:Discord.Game">
            <summary>
                A user's game status.
            </summary>
        </member>
        <member name="P:Discord.Game.Name">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Game.Type">
            <inheritdoc/>
        </member>
        <member name="M:Discord.Game.#ctor(System.String,Discord.ActivityType)">
            <summary>
                Creates a <see cref="T:Discord.Game"/> with the provided name and <see cref="T:Discord.ActivityType"/>.
            </summary>
            <param name="name">The name of the game.</param>
            <param name="type">The type of activity.</param>
        </member>
        <member name="M:Discord.Game.ToString">
            <summary> Returns the name of the <see cref="T:Discord.Game"/>. </summary>
        </member>
        <member name="T:Discord.GameAsset">
            <summary>
                An asset for a <see cref="T:Discord.RichGame" /> object containing the text and image.
            </summary>
        </member>
        <member name="P:Discord.GameAsset.Text">
            <summary>
                Gets the description of the asset.
            </summary>
            <returns>
                A string containing the description of the asset.
            </returns>
        </member>
        <member name="P:Discord.GameAsset.ImageId">
            <summary>
                Gets the image ID of the asset.
            </summary>
            <returns>
                A string containing the unique image identifier of the asset.
            </returns>
        </member>
        <member name="M:Discord.GameAsset.GetImageUrl(Discord.ImageFormat,System.UInt16)">
            <summary>
                Returns the image URL of the asset.
            </summary>
            <param name="size">The size of the image to return in. This can be any power of two between 16 and 2048.</param>
            <param name="format">The format to return.</param>
            <returns>
                A string pointing to the image URL of the asset; <c>null</c> when the application ID does not exist.
            </returns>
        </member>
        <member name="T:Discord.GameParty">
            <summary>
                Party information for a <see cref="T:Discord.RichGame" /> object.
            </summary>
        </member>
        <member name="P:Discord.GameParty.Id">
            <summary>
                Gets the ID of the party.
            </summary>
            <returns>
                A string containing the unique identifier of the party.
            </returns>
        </member>
        <member name="P:Discord.GameParty.Capacity">
            <summary>
                Gets the party's current and maximum size.
            </summary>
            <returns>
                A <see cref="T:System.Int64"/> representing the capacity of the party.
            </returns>
        </member>
        <member name="T:Discord.GameSecrets">
            <summary>
                Party secret for a <see cref="T:Discord.RichGame" /> object.
            </summary>
        </member>
        <member name="P:Discord.GameSecrets.Match">
            <summary>
                Gets the secret for a specific instanced match.
            </summary>
        </member>
        <member name="P:Discord.GameSecrets.Join">
            <summary>
                Gets the secret for joining a party.
            </summary>
        </member>
        <member name="P:Discord.GameSecrets.Spectate">
            <summary>
            	Gets the secret for spectating a game.
            </summary>
        </member>
        <member name="T:Discord.GameTimestamps">
            <summary>
                Timestamps for a <see cref="T:Discord.RichGame" /> object.
            </summary>
        </member>
        <member name="P:Discord.GameTimestamps.Start">
            <summary>
                Gets when the activity started.
            </summary>
        </member>
        <member name="P:Discord.GameTimestamps.End">
            <summary>
                Gets when the activity ends.
            </summary>
        </member>
        <member name="T:Discord.IActivity">
            <summary>
                A user's activity status, typically a <see cref="T:Discord.Game"/>.
            </summary>
        </member>
        <member name="P:Discord.IActivity.Name">
            <summary>
                Gets the name of the activity.
            </summary>
            <returns>
                A string containing the name of the activity that the user is doing.
            </returns>
        </member>
        <member name="P:Discord.IActivity.Type">
            <summary>
                Gets the type of the activity.
            </summary>
            <returns>
                The type of activity.
            </returns>
        </member>
        <member name="T:Discord.RichGame">
            <summary>
                A user's Rich Presence status.
            </summary>
        </member>
        <member name="P:Discord.RichGame.Details">
            <summary>
                Gets what the player is currently doing.
            </summary>
        </member>
        <member name="P:Discord.RichGame.State">
            <summary>
                Gets the user's current party status.
            </summary>
        </member>
        <member name="P:Discord.RichGame.ApplicationId">
            <summary>
                Gets the application ID for the game.
            </summary>
        </member>
        <member name="P:Discord.RichGame.SmallAsset">
            <summary>
                Gets the small image for the presence and their hover texts.
            </summary>
        </member>
        <member name="P:Discord.RichGame.LargeAsset">
            <summary>
                Gets the large image for the presence and their hover texts.
            </summary>
        </member>
        <member name="P:Discord.RichGame.Party">
            <summary>
                Gets the information for the current party of the player.
            </summary>
        </member>
        <member name="P:Discord.RichGame.Secrets">
            <summary>
                Gets the secrets for Rich Presence joining and spectating.
            </summary>
        </member>
        <member name="P:Discord.RichGame.Timestamps">
            <summary>
                Gets the timestamps for start and/or end of the game.
            </summary>
        </member>
        <member name="M:Discord.RichGame.ToString">
            <summary>
                Returns the name of the Rich Presence.
            </summary>
        </member>
        <member name="T:Discord.SpotifyGame">
            <summary>
                A user's activity for listening to a song on Spotify.
            </summary>
        </member>
        <member name="P:Discord.SpotifyGame.Artists">
            <summary>
                Gets the song's artist(s).
            </summary>
            <returns>
                A collection of string containing all artists featured in the track (e.g. <c>Avicii</c>; <c>Rita Ora</c>).
            </returns>
        </member>
        <member name="P:Discord.SpotifyGame.AlbumTitle">
            <summary>
                Gets the Spotify album title of the song.
            </summary>
            <returns>
                A string containing the name of the album (e.g. <c>AVĪCI (01)</c>).
            </returns>
        </member>
        <member name="P:Discord.SpotifyGame.TrackTitle">
            <summary>
                Gets the track title of the song.
            </summary>
            <returns>
                A string containing the name of the song (e.g. <c>Lonely Together (feat. Rita Ora)</c>).
            </returns>
        </member>
        <member name="P:Discord.SpotifyGame.Duration">
            <summary>
                Gets the duration of the song.
            </summary>
            <returns>
                A <see cref="T:System.TimeSpan"/> containing the duration of the song.
            </returns>
        </member>
        <member name="P:Discord.SpotifyGame.TrackId">
            <summary>
                Gets the track ID of the song.
            </summary>
            <returns>
                A string containing the Spotify ID of the track (e.g. <c>7DoN0sCGIT9IcLrtBDm4f0</c>).
            </returns>
        </member>
        <member name="P:Discord.SpotifyGame.SessionId">
            <summary>
                Gets the session ID of the song.
            </summary>
            <remarks>
                The purpose of this property is currently unknown.
            </remarks>
            <returns>
                A string containing the session ID.
            </returns>
        </member>
        <member name="P:Discord.SpotifyGame.AlbumArtUrl">
            <summary>
                Gets the URL of the album art.
            </summary>
            <returns>
                A URL pointing to the album art of the track (e.g. 
                <c>https://i.scdn.co/image/ba2fd8823d42802c2f8738db0b33a4597f2f39e7</c>).
            </returns>
        </member>
        <member name="P:Discord.SpotifyGame.TrackUrl">
            <summary>
                Gets the direct Spotify URL of the track.
            </summary>
            <returns>
                A URL pointing directly to the track on Spotify. (e.g. 
                <c>https://open.spotify.com/track/7DoN0sCGIT9IcLrtBDm4f0</c>).
            </returns>
        </member>
        <member name="M:Discord.SpotifyGame.ToString">
            <summary>
                Gets the full information of the song.
            </summary>
            <returns>
                A string containing the full information of the song (e.g. 
                <c>Avicii, Rita Ora - Lonely Together (feat. Rita Ora) (3:08)</c>
            </returns>
        </member>
        <member name="T:Discord.StreamingGame">
            <summary>
                A user's activity for streaming on services such as Twitch.
            </summary>
        </member>
        <member name="P:Discord.StreamingGame.Url">
            <summary>
                Gets the URL of the stream.
            </summary>
        </member>
        <member name="M:Discord.StreamingGame.#ctor(System.String,System.String)">
            <summary>
                Creates a new <see cref="T:Discord.StreamingGame" /> based on the <paramref name="name"/> on the stream URL.
            </summary>
            <param name="name">The name of the stream.</param>
            <param name="url">The URL of the stream.</param>
        </member>
        <member name="M:Discord.StreamingGame.ToString">
            <summary>
                Gets the name of the stream.
            </summary>
        </member>
        <member name="T:Discord.ActionType">
            <summary>
                Representing a type of action within an <see cref="T:Discord.IAuditLogEntry"/>.
            </summary>
        </member>
        <member name="F:Discord.ActionType.GuildUpdated">
            <summary>
                this guild was updated.
            </summary>
        </member>
        <member name="F:Discord.ActionType.ChannelCreated">
            <summary>
                A channel was created.
            </summary>
        </member>
        <member name="F:Discord.ActionType.ChannelUpdated">
            <summary>
                A channel was updated.
            </summary>
        </member>
        <member name="F:Discord.ActionType.ChannelDeleted">
            <summary>
                A channel was deleted.
            </summary>
        </member>
        <member name="F:Discord.ActionType.OverwriteCreated">
            <summary>
                A permission overwrite was created for a channel.
            </summary>
        </member>
        <member name="F:Discord.ActionType.OverwriteUpdated">
            <summary>
                A permission overwrite was updated for a channel.
            </summary>
        </member>
        <member name="F:Discord.ActionType.OverwriteDeleted">
            <summary>
                A permission overwrite was deleted for a channel.
            </summary>
        </member>
        <member name="F:Discord.ActionType.Kick">
            <summary>
                A user was kicked from this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.Prune">
            <summary>
                A prune took place in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.Ban">
            <summary>
                A user banned another user from this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.Unban">
            <summary>
                A user unbanned another user from this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.MemberUpdated">
            <summary>
                A guild member whose information was updated.
            </summary>
        </member>
        <member name="F:Discord.ActionType.MemberRoleUpdated">
            <summary>
                A guild member's role collection was updated.
            </summary>
        </member>
        <member name="F:Discord.ActionType.RoleCreated">
            <summary>
                A role was created in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.RoleUpdated">
            <summary>
                A role was updated in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.RoleDeleted">
            <summary>
                A role was deleted from this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.InviteCreated">
            <summary>
                An invite was created in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.InviteUpdated">
            <summary>
                An invite was updated in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.InviteDeleted">
            <summary>
                An invite was deleted from this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.WebhookCreated">
            <summary>
                A Webhook was created in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.WebhookUpdated">
            <summary>
                A Webhook was updated in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.WebhookDeleted">
            <summary>
                A Webhook was deleted from this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.EmojiCreated">
            <summary>
                An emoji was created in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.EmojiUpdated">
            <summary>
                An emoji was updated in this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.EmojiDeleted">
            <summary>
                An emoji was deleted from this guild.
            </summary>
        </member>
        <member name="F:Discord.ActionType.MessageDeleted">
            <summary>
                A message was deleted from this guild.
            </summary>
        </member>
        <member name="T:Discord.IAuditLogData">
            <summary>
                Represents data applied to an <see cref="T:Discord.IAuditLogEntry"/>.
            </summary>
        </member>
        <member name="T:Discord.IAuditLogEntry">
            <summary>
                Represents a generic audit log entry.
            </summary>
        </member>
        <member name="P:Discord.IAuditLogEntry.Action">
            <summary>
                Gets the action which occurred to create this entry.
            </summary>
            <returns>
                The type of action for this audit log entry.
            </returns>
        </member>
        <member name="P:Discord.IAuditLogEntry.Data">
            <summary>
                Gets the data for this entry.
            </summary>
            <returns>
                An <see cref="T:Discord.IAuditLogData" /> for this audit log entry; <c>null</c> if no data is available.
            </returns>
        </member>
        <member name="P:Discord.IAuditLogEntry.User">
            <summary>
                Gets the user responsible for causing the changes.
            </summary>
            <returns>
                A user object.
            </returns>
        </member>
        <member name="P:Discord.IAuditLogEntry.Reason">
            <summary>
                Gets the reason behind the change.
            </summary>
            <returns>
                A string containing the reason for the change; <c>null</c> if none is provided.
            </returns>
        </member>
        <member name="T:Discord.CacheMode">
            <summary>
                Specifies the cache mode that should be used.
            </summary>
        </member>
        <member name="F:Discord.CacheMode.AllowDownload">
            <summary>
                Allows the object to be downloaded if it does not exist in the current cache.
            </summary>
        </member>
        <member name="F:Discord.CacheMode.CacheOnly">
            <summary>
                Only allows the object to be pulled from the existing cache.
            </summary>
        </member>
        <member name="T:Discord.ChannelType">
            <summary> Defines the types of channels. </summary>
        </member>
        <member name="F:Discord.ChannelType.Text">
            <summary> The channel is a text channel. </summary>
        </member>
        <member name="F:Discord.ChannelType.DM">
            <summary> The channel is a Direct Message channel. </summary>
        </member>
        <member name="F:Discord.ChannelType.Voice">
            <summary> The channel is a voice channel. </summary>
        </member>
        <member name="F:Discord.ChannelType.Group">
            <summary> The channel is a group channel. </summary>
        </member>
        <member name="F:Discord.ChannelType.Category">
            <summary> The channel is a category channel. </summary>
        </member>
        <member name="F:Discord.ChannelType.News">
            <summary> The channel is a news channel. </summary>
        </member>
        <member name="T:Discord.Direction">
            <summary>
                Specifies the direction of where message(s) should be retrieved from.
            </summary>
            <remarks>
                This enum is used to specify the direction for retrieving messages.
                <note type="important">
                    At the time of writing, <see cref="F:Discord.Direction.Around"/> is not yet implemented into 
                    <see cref="M:Discord.IMessageChannel.GetMessagesAsync(System.Int32,Discord.CacheMode,Discord.RequestOptions)"/>. Attempting to use the method with <see cref="F:Discord.Direction.Around"/>
                    as its direction will throw a <see cref="T:System.NotImplementedException"/>.
                </note>
            </remarks>
        </member>
        <member name="F:Discord.Direction.Before">
            <summary>
                The message(s) should be retrieved before a message.
            </summary>
        </member>
        <member name="F:Discord.Direction.After">
            <summary>
                The message(s) should be retrieved after a message.
            </summary>
        </member>
        <member name="F:Discord.Direction.Around">
            <summary>
                The message(s) should be retrieved around a message.
            </summary>
        </member>
        <member name="T:Discord.GuildChannelProperties">
            <summary>
                Properties that are used to modify an <see cref="T:Discord.IGuildChannel" /> with the specified changes.
            </summary>
            <seealso cref="M:Discord.IGuildChannel.ModifyAsync(System.Action{Discord.GuildChannelProperties},Discord.RequestOptions)"/>
        </member>
        <member name="P:Discord.GuildChannelProperties.Name">
            <summary>
                Gets or sets the channel to this name.
            </summary>
            <remarks>
                This property defines the new name for this channel.
                <note type="warning">
                    When modifying an <see cref="T:Discord.ITextChannel"/>, the <see cref="P:Discord.GuildChannelProperties.Name"/> must be alphanumeric with
                    dashes. It must match the RegEx <c>[a-z0-9-_]{2,100}</c>.
                </note>
            </remarks>
        </member>
        <member name="P:Discord.GuildChannelProperties.Position">
            <summary>
                Moves the channel to the following position. This property is zero-based.
            </summary>
        </member>
        <member name="P:Discord.GuildChannelProperties.CategoryId">
            <summary>
                Gets or sets the category ID for this channel.
            </summary>
            <remarks>
                Setting this value to a category's snowflake identifier will change or set this channel's parent to the
                specified channel; setting this value to <c>0</c> will detach this channel from its parent if one
                is set.
            </remarks>
        </member>
        <member name="T:Discord.IAudioChannel">
            <summary>
                Represents a generic audio channel.
            </summary>
        </member>
        <member name="M:Discord.IAudioChannel.ConnectAsync(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
                Connects to this audio channel.
            </summary>
            <param name="selfDeaf">Determines whether the client should deaf itself upon connection.</param>
            <param name="selfMute">Determines whether the client should mute itself upon connection.</param>
            <param name="external">Determines whether the audio client is an external one or not.</param>
            <returns>
                A task representing the asynchronous connection operation. The task result contains the
                <see cref="T:Discord.Audio.IAudioClient"/> responsible for the connection.
            </returns>
        </member>
        <member name="M:Discord.IAudioChannel.DisconnectAsync">
            <summary>
                Disconnects from this audio channel.
            </summary>
            <returns>
                A task representing the asynchronous operation for disconnecting from the audio channel.
            </returns>
        </member>
        <member name="T:Discord.ICategoryChannel">
            <summary>
                Represents a generic category channel.
            </summary>
        </member>
        <member name="T:Discord.IChannel">
            <summary>
                Represents a generic channel.
            </summary>
        </member>
        <member name="P:Discord.IChannel.Name">
            <summary>
                Gets the name of this channel.
            </summary>
            <returns>
                A string containing the name of this channel.
            </returns>
        </member>
        <member name="M:Discord.IChannel.GetUsersAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of all users in this channel.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A paged collection containing a collection of users that can access this channel. Flattening the
                paginated response into a collection of users with 
                <see cref="M:Discord.AsyncEnumerableExtensions.FlattenAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})"/> is required if you wish to access the users.
            </returns>
        </member>
        <member name="M:Discord.IChannel.GetUserAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a user in this channel.
            </summary>
            <param name="id">The snowflake identifier of the user (e.g. <c>168693960628371456</c>).</param>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a user object that
                represents the found user; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="T:Discord.IDMChannel">
            <summary>
                Represents a generic direct-message channel.
            </summary>
        </member>
        <member name="P:Discord.IDMChannel.Recipient">
            <summary>
                Gets the recipient of all messages in this channel.
            </summary>
            <returns>
                A user object that represents the other user in this channel.
            </returns>
        </member>
        <member name="M:Discord.IDMChannel.CloseAsync(Discord.RequestOptions)">
            <summary>
                Closes this private channel, removing it from your channel list.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous close operation.
            </returns>
        </member>
        <member name="T:Discord.IGroupChannel">
            <summary>
                Represents a generic private group channel.
            </summary>
        </member>
        <member name="M:Discord.IGroupChannel.LeaveAsync(Discord.RequestOptions)">
            <summary>
                Leaves this group.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous leave operation.
            </returns>
        </member>
        <member name="T:Discord.IGuildChannel">
            <summary>
                Represents a generic guild channel.
            </summary>
            <seealso cref="T:Discord.ITextChannel"/>
            <seealso cref="T:Discord.IVoiceChannel"/>
            <seealso cref="T:Discord.ICategoryChannel"/>
        </member>
        <member name="P:Discord.IGuildChannel.Position">
            <summary>
                Gets the position of this channel.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the position of this channel in the guild's channel list relative to
                others of the same type.
            </returns>
        </member>
        <member name="P:Discord.IGuildChannel.Guild">
            <summary>
                Gets the guild associated with this channel.
            </summary>
            <returns>
                A guild object that this channel belongs to.
            </returns>
        </member>
        <member name="P:Discord.IGuildChannel.GuildId">
            <summary>
                Gets the guild ID associated with this channel.
            </summary>
            <returns>
                An <see cref="T:System.UInt64"/> representing the guild snowflake identifier for the guild that this channel
                belongs to.
            </returns>
        </member>
        <member name="P:Discord.IGuildChannel.PermissionOverwrites">
            <summary>
                Gets a collection of permission overwrites for this channel.
            </summary>
            <returns>
                A collection of overwrites associated with this channel.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.ModifyAsync(System.Action{Discord.GuildChannelProperties},Discord.RequestOptions)">
            <summary>
                Modifies this guild channel.
            </summary>
            <remarks>
                This method modifies the current guild channel with the specified properties. To see an example of this
                method and what properties are available, please refer to <see cref="T:Discord.GuildChannelProperties"/>.
            </remarks>
            <param name="func">The delegate containing the properties to modify the channel with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.GetPermissionOverwrite(Discord.IRole)">
            <summary>
                Gets the permission overwrite for a specific role.
            </summary>
            <param name="role">The role to get the overwrite from.</param>
            <returns>
                An overwrite object for the targeted role; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.GetPermissionOverwrite(Discord.IUser)">
            <summary>
                Gets the permission overwrite for a specific user.
            </summary>
            <param name="user">The user to get the overwrite from.</param>
            <returns>
                An overwrite object for the targeted user; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.RemovePermissionOverwriteAsync(Discord.IRole,Discord.RequestOptions)">
            <summary>
                Removes the permission overwrite for the given role, if one exists.
            </summary>
            <param name="role">The role to remove the overwrite from.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task representing the asynchronous operation for removing the specified permissions from the channel.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.RemovePermissionOverwriteAsync(Discord.IUser,Discord.RequestOptions)">
            <summary>
                Removes the permission overwrite for the given user, if one exists.
            </summary>
            <param name="user">The user to remove the overwrite from.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task representing the asynchronous operation for removing the specified permissions from the channel.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.AddPermissionOverwriteAsync(Discord.IRole,Discord.OverwritePermissions,Discord.RequestOptions)">
            <summary>
                Adds or updates the permission overwrite for the given role.
            </summary>
            <example>
                <para>The following example fetches a role via <see cref="M:Discord.IGuild.GetRole(System.UInt64)"/> and a channel via 
                <see cref="M:Discord.IGuild.GetChannelAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)"/>. Next, it checks if an overwrite had already been set via 
                <see cref="M:Discord.IGuildChannel.GetPermissionOverwrite(Discord.IRole)"/>; if not, it denies the role from sending any
                messages to the channel.</para>
                <code language="cs" region="AddPermissionOverwriteAsyncRole"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IGuildChannel.Examples.cs"/>
            </example>
            <param name="role">The role to add the overwrite to.</param>
            <param name="permissions">The overwrite to add to the role.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task representing the asynchronous permission operation for adding the specified permissions to the
                channel.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.AddPermissionOverwriteAsync(Discord.IUser,Discord.OverwritePermissions,Discord.RequestOptions)">
            <summary>
                Adds or updates the permission overwrite for the given user.
            </summary>
            <example>
                <para>The following example fetches a user via <see cref="M:Discord.IGuild.GetUserAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)"/> and a channel via 
                <see cref="M:Discord.IGuild.GetChannelAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)"/>. Next, it checks if an overwrite had already been set via 
                <see cref="M:Discord.IGuildChannel.GetPermissionOverwrite(Discord.IUser)"/>; if not, it denies the user from sending any
                messages to the channel.</para>
                <code language="cs" region="AddPermissionOverwriteAsyncUser"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IGuildChannel.Examples.cs"/>
            </example>
            <param name="user">The user to add the overwrite to.</param>
            <param name="permissions">The overwrite to add to the user.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task representing the asynchronous permission operation for adding the specified permissions to the channel.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.GetUsersAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of users that are able to view the channel.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A paged collection containing a collection of guild users that can access this channel. Flattening the
                paginated response into a collection of users with 
                <see cref="M:Discord.AsyncEnumerableExtensions.FlattenAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})"/> is required if you wish to access the users.
            </returns>
        </member>
        <member name="M:Discord.IGuildChannel.GetUserAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a user in this channel.
            </summary>
            <param name="id">The snowflake identifier of the user.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task representing the asynchronous get operation. The task result contains a guild user object that
                represents the user; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="T:Discord.IMessageChannel">
            <summary>
                Represents a generic channel that can send and receive messages.
            </summary>
        </member>
        <member name="M:Discord.IMessageChannel.SendMessageAsync(System.String,System.Boolean,Discord.Embed,Discord.RequestOptions)">
            <summary>
                Sends a message to this message channel.
            </summary>
            <example>
                <para>The following example sends a message with the current system time in RFC 1123 format to the channel and
                deletes itself after 5 seconds.</para>
                <code language="cs" region="SendMessageAsync"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
            </example>
            <param name="text">The message to be sent.</param>
            <param name="isTTS">Determines whether the message should be read aloud by Discord or not.</param>
            <param name="embed">The <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.Embed"/> to be sent.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents an asynchronous send operation for delivering the message. The task result
                contains the sent message.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.SendFileAsync(System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions,System.Boolean)">
            <summary>
                Sends a file to this message channel with an optional caption.
            </summary>
            <example>
                <para>The following example uploads a local file called <c>wumpus.txt</c> along with the text 
                <c>good discord boi</c> to the channel.</para>
                <code language="cs" region="SendFileAsync.FilePath"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
                <para>The following example uploads a local image called <c>b1nzy.jpg</c> embedded inside a rich embed to the
                channel.</para>
                <code language="cs" region="SendFileAsync.FilePath.EmbeddedImage"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
            </example>
            <remarks>
                This method sends a file as if you are uploading an attachment directly from your Discord client.
                <note>
                    If you wish to upload an image and have it embedded in a <see cref="F:Discord.EmbedType.Rich"/> embed,
                    you may upload the file and refer to the file with "attachment://filename.ext" in the
                    <see cref="P:Discord.EmbedBuilder.ImageUrl"/>. See the example section for its usage.
                </note>
            </remarks>
            <param name="filePath">The file path of the file.</param>
            <param name="text">The message to be sent.</param>
            <param name="isTTS">Whether the message should be read aloud by Discord or not.</param>
            <param name="embed">The <see cref="F:Discord.EmbedType.Rich" /> <see cref="T:Discord.Embed" /> to be sent.</param>
            <param name="options">The options to be used when sending the request.</param>
            <param name="isSpoiler">Whether the message attachment should be hidden as a spoiler.</param>
            <returns>
                A task that represents an asynchronous send operation for delivering the message. The task result
                contains the sent message.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.SendFileAsync(System.IO.Stream,System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions,System.Boolean)">
            <summary>
                Sends a file to this message channel with an optional caption.
            </summary>
            <example>
                <para>The following example uploads a streamed image that will be called <c>b1nzy.jpg</c> embedded inside a
                rich embed to the channel.</para>
                <code language="cs" region="SendFileAsync.FileStream.EmbeddedImage"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
            </example>
            <remarks>
                This method sends a file as if you are uploading an attachment directly from your Discord client.
                <note>
                    If you wish to upload an image and have it embedded in a <see cref="F:Discord.EmbedType.Rich"/> embed,
                    you may upload the file and refer to the file with "attachment://filename.ext" in the
                    <see cref="P:Discord.EmbedBuilder.ImageUrl"/>. See the example section for its usage.
                </note>
            </remarks>
            <param name="stream">The <see cref="T:System.IO.Stream" /> of the file to be sent.</param>
            <param name="filename">The name of the attachment.</param>
            <param name="text">The message to be sent.</param>
            <param name="isTTS">Whether the message should be read aloud by Discord or not.</param>
            <param name="embed">The <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.Embed"/> to be sent.</param>
            <param name="options">The options to be used when sending the request.</param>
            <param name="isSpoiler">Whether the message attachment should be hidden as a spoiler.</param>
            <returns>
                A task that represents an asynchronous send operation for delivering the message. The task result
                contains the sent message.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.GetMessageAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a message from this message channel.
            </summary>
            <param name="id">The snowflake identifier of the message.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents an asynchronous get operation for retrieving the message. The task result contains
                the retrieved message; <c>null</c> if no message is found with the specified identifier.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.GetMessagesAsync(System.Int32,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the last N messages from this message channel.
            </summary>
            <remarks>
                <note type="important">
                    The returned collection is an asynchronous enumerable object; one must call 
                    <see cref="M:Discord.AsyncEnumerableExtensions.FlattenAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})"/> to access the individual messages as a
                    collection.
                </note>
                <note type="warning">
                    Do not fetch too many messages at once! This may cause unwanted preemptive rate limit or even actual
                    rate limit, causing your bot to freeze!
                </note>
                This method will attempt to fetch the number of messages specified under <paramref name="limit"/>. The
                library will attempt to split up the requests according to your <paramref name="limit"/> and 
                <see cref="F:Discord.DiscordConfig.MaxMessagesPerBatch"/>. In other words, should the user request 500 messages,
                and the <see cref="F:Discord.DiscordConfig.MaxMessagesPerBatch"/> constant is <c>100</c>, the request will
                be split into 5 individual requests; thus returning 5 individual asynchronous responses, hence the need
                of flattening.
            </remarks>
            <example>
                <para>The following example downloads 300 messages and gets messages that belong to the user 
                <c>53905483156684800</c>.</para>
                <code language="cs" region="GetMessagesAsync.FromLimit.Standard"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
            </example>
            <param name="limit">The numbers of message to be gotten from.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from
            cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                Paged collection of messages.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.GetMessagesAsync(System.UInt64,Discord.Direction,System.Int32,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of messages in this channel.
            </summary>
            <remarks>
                <note type="important">
                    The returned collection is an asynchronous enumerable object; one must call 
                    <see cref="M:Discord.AsyncEnumerableExtensions.FlattenAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})"/> to access the individual messages as a
                    collection.
                </note>
                <note type="warning">
                    Do not fetch too many messages at once! This may cause unwanted preemptive rate limit or even actual
                    rate limit, causing your bot to freeze!
                </note>
                This method will attempt to fetch the number of messages specified under <paramref name="limit"/> around
                the message <paramref name="fromMessageId"/> depending on the <paramref name="dir"/>. The library will
                attempt to split up the requests according to your <paramref name="limit"/> and 
                <see cref="F:Discord.DiscordConfig.MaxMessagesPerBatch"/>. In other words, should the user request 500 messages,
                and the <see cref="F:Discord.DiscordConfig.MaxMessagesPerBatch"/> constant is <c>100</c>, the request will
                be split into 5 individual requests; thus returning 5 individual asynchronous responses, hence the need
                of flattening.
            </remarks>
            <example>
                <para>The following example gets 5 message prior to the message identifier <c>442012544660537354</c>.</para>
                <code language="cs" region="GetMessagesAsync.FromId.FromMessage"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
                <para>The following example attempts to retrieve <c>messageCount</c> number of messages from the 
                beginning of the channel and prints them to the console.</para>
                <code language="cs" region="GetMessagesAsync.FromId.BeginningMessages"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
            </example>
            <param name="fromMessageId">The ID of the starting message to get the messages from.</param>
            <param name="dir">The direction of the messages to be gotten from.</param>
            <param name="limit">The numbers of message to be gotten from.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from
            cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                Paged collection of messages.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.GetMessagesAsync(Discord.IMessage,Discord.Direction,System.Int32,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of messages in this channel.
            </summary>
            <remarks>
                <note type="important">
                    The returned collection is an asynchronous enumerable object; one must call 
                    <see cref="M:Discord.AsyncEnumerableExtensions.FlattenAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})"/> to access the individual messages as a
                    collection.
                </note>
                <note type="warning">
                    Do not fetch too many messages at once! This may cause unwanted preemptive rate limit or even actual
                    rate limit, causing your bot to freeze!
                </note>
                This method will attempt to fetch the number of messages specified under <paramref name="limit"/> around
                the message <paramref name="fromMessage"/> depending on the <paramref name="dir"/>. The library will
                attempt to split up the requests according to your <paramref name="limit"/> and 
                <see cref="F:Discord.DiscordConfig.MaxMessagesPerBatch"/>. In other words, should the user request 500 messages,
                and the <see cref="F:Discord.DiscordConfig.MaxMessagesPerBatch"/> constant is <c>100</c>, the request will
                be split into 5 individual requests; thus returning 5 individual asynchronous responses, hence the need
                of flattening.
            </remarks>
            <example>
                <para>The following example gets 5 message prior to a specific message, <c>oldMessage</c>.</para>
                <code language="cs" region="GetMessagesAsync.FromMessage"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
            </example>
            <param name="fromMessage">The starting message to get the messages from.</param>
            <param name="dir">The direction of the messages to be gotten from.</param>
            <param name="limit">The numbers of message to be gotten from.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from
            cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                Paged collection of messages.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.GetPinnedMessagesAsync(Discord.RequestOptions)">
            <summary>
                Gets a collection of pinned messages in this channel.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation for retrieving pinned messages in this channel.
                The task result contains a collection of messages found in the pinned messages.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.DeleteMessageAsync(System.UInt64,Discord.RequestOptions)">
            <summary>
                Deletes a message.
            </summary>
            <param name="messageId">The snowflake identifier of the message that would be removed.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous removal operation.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.DeleteMessageAsync(Discord.IMessage,Discord.RequestOptions)">
            <summary> Deletes a message based on the provided message in this channel. </summary>
            <param name="message">The message that would be removed.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous removal operation.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.TriggerTypingAsync(Discord.RequestOptions)">
            <summary>
                Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation that triggers the broadcast.
            </returns>
        </member>
        <member name="M:Discord.IMessageChannel.EnterTypingState(Discord.RequestOptions)">
            <summary>
                Continuously broadcasts the "user is typing" message to all users in this channel until the returned
                object is disposed.
            </summary>
            <example>
                <para>The following example keeps the client in the typing state until <c>LongRunningAsync</c> has finished.</para>
                <code language="cs" region="EnterTypingState"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Channels\IMessageChannel.Examples.cs" />
            </example>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A disposable object that, upon its disposal, will stop the client from broadcasting its typing state in
                this channel.
            </returns>
        </member>
        <member name="T:Discord.INestedChannel">
            <summary>
                Represents a type of guild channel that can be nested within a category.
            </summary>
        </member>
        <member name="P:Discord.INestedChannel.CategoryId">
            <summary>
                Gets the parent (category) ID of this channel in the guild's channel list.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the parent of this channel; 
                <c>null</c> if none is set.
            </returns>
        </member>
        <member name="M:Discord.INestedChannel.GetCategoryAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the parent (category) channel of this channel.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the category channel
                representing the parent of this channel; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="M:Discord.INestedChannel.SyncPermissionsAsync(Discord.RequestOptions)">
            <summary>
                Syncs the permissions of this nested channel with its parent's.
            </summary>
        </member>
        <member name="M:Discord.INestedChannel.CreateInviteAsync(System.Nullable{System.Int32},System.Nullable{System.Int32},System.Boolean,System.Boolean,Discord.RequestOptions)">
            <summary>
                Creates a new invite to this channel.
            </summary>
            <example>
                The following example creates a new invite to this channel; the invite lasts for 12 hours and can only
                be used 3 times throughout its lifespan.
                <code language="cs">
                await guildChannel.CreateInviteAsync(maxAge: 43200, maxUses: 3);
                </code>
            </example>
            <param name="maxAge">The time (in seconds) until the invite expires. Set to <c>null</c> to never expire.</param>
            <param name="maxUses">The max amount of times this invite may be used. Set to <c>null</c> to have unlimited uses.</param>
            <param name="isTemporary">If <c>true</c>, the user accepting this invite will be kicked from the guild after closing their client.</param>
            <param name="isUnique">If <c>true</c>, don't try to reuse a similar invite (useful for creating many unique one time use invites).</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous invite creation operation. The task result contains an invite
                metadata object containing information for the created invite.
            </returns>
        </member>
        <member name="M:Discord.INestedChannel.GetInvitesAsync(Discord.RequestOptions)">
            <summary>
                Gets a collection of all invites to this channel.
            </summary>B
            <example>
                The following example gets all of the invites that have been created in this channel and selects the
                most used invite.
                <code language="cs">
                var invites = await channel.GetInvitesAsync();
                if (invites.Count == 0) return;
                var invite = invites.OrderByDescending(x => x.Uses).FirstOrDefault();
                </code>
            </example>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection
                of invite metadata that are created for this channel.
            </returns>
        </member>
        <member name="T:Discord.IPrivateChannel">
            <summary>
                Represents a generic channel that is private to select recipients.
            </summary>
        </member>
        <member name="P:Discord.IPrivateChannel.Recipients">
            <summary>
                Gets the users that can access this channel.
            </summary>
            <returns>
                A read-only collection of users that can access this channel.
            </returns>
        </member>
        <member name="T:Discord.ITextChannel">
            <summary>
                Represents a generic channel in a guild that can send and receive messages.
            </summary>
        </member>
        <member name="P:Discord.ITextChannel.IsNsfw">
            <summary>
                Gets a value that indicates whether the channel is NSFW.
            </summary>
            <returns>
                <c>true</c> if the channel has the NSFW flag enabled; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.ITextChannel.Topic">
            <summary>
                Gets the current topic for this text channel.
            </summary>
            <returns>
                A string representing the topic set in the channel; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.ITextChannel.SlowModeInterval">
            <summary>
                Gets the current slow-mode delay for this channel.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the time in seconds required before the user can send another
                message; <c>0</c> if disabled.
            </returns>
        </member>
        <member name="M:Discord.ITextChannel.DeleteMessagesAsync(System.Collections.Generic.IEnumerable{Discord.IMessage},Discord.RequestOptions)">
            <summary>
                Bulk-deletes multiple messages.
            </summary>
            <example>
                The following example gets 250 messages from the channel and deletes them.
                <code language="cs">
                var messages = await textChannel.GetMessagesAsync(250).FlattenAsync();
                await textChannel.DeleteMessagesAsync(messages);
                </code>
            </example>
            <remarks>
                This method attempts to remove the messages specified in bulk.
                <note type="important">
                    Due to the limitation set by Discord, this method can only remove messages that are posted within 14 days!
                </note>
            </remarks>
            <param name="messages">The messages to be bulk-deleted.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous bulk-removal operation.
            </returns>
        </member>
        <member name="M:Discord.ITextChannel.DeleteMessagesAsync(System.Collections.Generic.IEnumerable{System.UInt64},Discord.RequestOptions)">
            <summary>
                Bulk-deletes multiple messages.
            </summary>
            <remarks>
                This method attempts to remove the messages specified in bulk.
                <note type="important">
                    Due to the limitation set by Discord, this method can only remove messages that are posted within 14 days!
                </note>
            </remarks>
            <param name="messageIds">The snowflake identifier of the messages to be bulk-deleted.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous bulk-removal operation.
            </returns>
        </member>
        <member name="M:Discord.ITextChannel.ModifyAsync(System.Action{Discord.TextChannelProperties},Discord.RequestOptions)">
            <summary>
                Modifies this text channel.
            </summary>
            <param name="func">The delegate containing the properties to modify the channel with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
            <seealso cref="T:Discord.TextChannelProperties"/>
        </member>
        <member name="M:Discord.ITextChannel.CreateWebhookAsync(System.String,System.IO.Stream,Discord.RequestOptions)">
            <summary>
                Creates a webhook in this text channel.
            </summary>
            <param name="name">The name of the webhook.</param>
            <param name="avatar">The avatar of the webhook.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous creation operation. The task result contains the newly created
                webhook.
            </returns>
        </member>
        <member name="M:Discord.ITextChannel.GetWebhookAsync(System.UInt64,Discord.RequestOptions)">
            <summary>
                Gets a webhook available in this text channel.
            </summary>
            <param name="id">The identifier of the webhook.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a webhook associated
                with the identifier; <c>null</c> if the webhook is not found.
            </returns>
        </member>
        <member name="M:Discord.ITextChannel.GetWebhooksAsync(Discord.RequestOptions)">
            <summary>
                Gets the webhooks available in this text channel.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection
                of webhooks that is available in this channel.
            </returns>
        </member>
        <member name="T:Discord.IVoiceChannel">
            <summary>
                Represents a generic voice channel in a guild.
            </summary>
        </member>
        <member name="P:Discord.IVoiceChannel.Bitrate">
            <summary>
                Gets the bit-rate that the clients in this voice channel are requested to use.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the bit-rate (bps) that this voice channel defines and requests the
                client(s) to use.
            </returns>
        </member>
        <member name="P:Discord.IVoiceChannel.UserLimit">
            <summary>
                Gets the max number of users allowed to be connected to this channel at once.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the maximum number of users that are allowed to be connected to this
                channel at once; <c>null</c> if a limit is not set.
            </returns>
        </member>
        <member name="M:Discord.IVoiceChannel.ModifyAsync(System.Action{Discord.VoiceChannelProperties},Discord.RequestOptions)">
            <summary>
                Modifies this voice channel.
            </summary>
            <param name="func">The properties to modify the channel with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
            <seealso cref="T:Discord.VoiceChannelProperties"/>
        </member>
        <member name="T:Discord.ReorderChannelProperties">
            <summary>
                Provides properties that are used to reorder an <see cref="T:Discord.IGuildChannel"/>.
            </summary>
        </member>
        <member name="P:Discord.ReorderChannelProperties.Id">
            <summary>
                Gets the ID of the channel to apply this position to.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of this channel.
            </returns>
        </member>
        <member name="P:Discord.ReorderChannelProperties.Position">
            <summary>
                Gets the new zero-based position of this channel.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the new position of this channel.
            </returns>
        </member>
        <member name="M:Discord.ReorderChannelProperties.#ctor(System.UInt64,System.Int32)">
            <summary> Initializes a new instance of the <see cref="T:Discord.ReorderChannelProperties"/> class used to reorder a channel. </summary>
            <param name="id"> Sets the ID of the channel to apply this position to. </param>
            <param name="position"> Sets the new zero-based position of this channel. </param>
        </member>
        <member name="T:Discord.TextChannelProperties">
            <summary>
                Provides properties that are used to modify an <see cref="T:Discord.ITextChannel"/> with the specified changes.
            </summary>
            <seealso cref="M:Discord.ITextChannel.ModifyAsync(System.Action{Discord.TextChannelProperties},Discord.RequestOptions)"/>
        </member>
        <member name="P:Discord.TextChannelProperties.Topic">
            <summary>
                Gets or sets the topic of the channel.
            </summary>
            <remarks>
                Setting this value to any string other than <c>null</c> or <see cref="F:System.String.Empty"/> will set the
                channel topic or description to the desired value.
            </remarks>
        </member>
        <member name="P:Discord.TextChannelProperties.IsNsfw">
            <summary>
                Gets or sets whether this channel should be flagged as NSFW.
            </summary>
            <remarks>
                Setting this value to <c>true</c> will mark the channel as NSFW (Not Safe For Work) and will prompt the
                user about its possibly mature nature before they may view the channel; setting this value to <c>false</c> will
                remove the NSFW indicator.
            </remarks>
        </member>
        <member name="P:Discord.TextChannelProperties.SlowModeInterval">
            <summary>
                Gets or sets the slow-mode ratelimit in seconds for this channel.
            </summary>
            <remarks>
                Setting this value to anything above zero will require each user to wait X seconds before
                sending another message; setting this value to <c>0</c> will disable slow-mode for this channel.
                <note>
                    Users with <see cref="F:Discord.ChannelPermission.ManageMessages"/> or 
                    <see cref="F:Discord.ChannelPermission.ManageChannels"/> will be exempt from slow-mode.
                </note>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if the value does not fall within [0, 120].</exception>
        </member>
        <member name="T:Discord.VoiceChannelProperties">
            <summary>
                Provides properties that are used to modify an <see cref="T:Discord.IVoiceChannel" /> with the specified changes.
            </summary>
        </member>
        <member name="P:Discord.VoiceChannelProperties.Bitrate">
            <summary>
                Gets or sets the bitrate of the voice connections in this channel. Must be greater than 8000.
            </summary>
        </member>
        <member name="P:Discord.VoiceChannelProperties.UserLimit">
            <summary>
                Gets or sets the maximum number of users that can be present in a channel, or <c>null</c> if none.
            </summary>
        </member>
        <member name="T:Discord.Emoji">
            <summary>
                A Unicode emoji.
            </summary>
        </member>
        <member name="P:Discord.Emoji.Name">
            <inheritdoc />
        </member>
        <member name="M:Discord.Emoji.ToString">
            <summary>
                Gets the Unicode representation of this emote.
            </summary>
            <returns>
                A string that resolves to <see cref="P:Discord.Emoji.Name"/>.
            </returns>
        </member>
        <member name="M:Discord.Emoji.#ctor(System.String)">
            <summary>
                Initializes a new <see cref="T:Discord.Emoji"/> class with the provided Unicode.
            </summary>
            <param name="unicode">The pure UTF-8 encoding of an emoji.</param>
        </member>
        <member name="M:Discord.Emoji.Equals(System.Object)">
            <summary>
                Determines whether the specified emoji is equal to the current one.
            </summary>
            <param name="other">The object to compare with the current object.</param>
        </member>
        <member name="M:Discord.Emoji.GetHashCode">
            <inheritdoc />
        </member>
        <member name="T:Discord.Emote">
            <summary>
                A custom image-based emote.
            </summary>
        </member>
        <member name="P:Discord.Emote.Name">
            <inheritdoc />
        </member>
        <member name="P:Discord.Emote.Id">
            <inheritdoc />
        </member>
        <member name="P:Discord.Emote.Animated">
            <summary>
                Gets whether this emote is animated.
            </summary>
            <returns>
                A boolean that determines whether or not this emote is an animated one.
            </returns>
        </member>
        <member name="P:Discord.Emote.CreatedAt">
            <inheritdoc />
        </member>
        <member name="P:Discord.Emote.Url">
            <summary>
                Gets the image URL of this emote.
            </summary>
            <returns>
                A string that points to the URL of this emote.
            </returns>
        </member>
        <member name="M:Discord.Emote.Equals(System.Object)">
            <summary>
                Determines whether the specified emote is equal to the current emote.
            </summary>
            <param name="other">The object to compare with the current object.</param>
        </member>
        <member name="M:Discord.Emote.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:Discord.Emote.Parse(System.String)">
            <summary> Parses an <see cref="T:Discord.Emote"/> from its raw format. </summary>
            <param name="text">The raw encoding of an emote (e.g. <c>&lt;:dab:277855270321782784&gt;</c>).</param>
            <returns>An emote.</returns>
            <exception cref="T:System.ArgumentException">Invalid emote format.</exception>
        </member>
        <member name="M:Discord.Emote.TryParse(System.String,Discord.Emote@)">
            <summary> Tries to parse an <see cref="T:Discord.Emote"/> from its raw format. </summary>
            <param name="text">The raw encoding of an emote; for example, &lt;:dab:277855270321782784&gt;.</param>
            <param name="result">An emote.</param>
        </member>
        <member name="M:Discord.Emote.ToString">
            <summary>
                Returns the raw representation of the emote.
            </summary>
            <returns>
                A string representing the raw presentation of the emote (e.g. <c>&lt;:thonkang:282745590985523200&gt;</c>).
            </returns>
        </member>
        <member name="T:Discord.EmoteProperties">
            <summary>
                Provides properties that are used to modify an <see cref="T:Discord.Emote" /> with the specified changes.
            </summary>
            <seealso cref="M:Discord.IGuild.ModifyEmoteAsync(Discord.GuildEmote,System.Action{Discord.EmoteProperties},Discord.RequestOptions)"/>
        </member>
        <member name="P:Discord.EmoteProperties.Name">
            <summary>
                Gets or sets the name of the <see cref="T:Discord.Emote"/>.
            </summary>
        </member>
        <member name="P:Discord.EmoteProperties.Roles">
            <summary>
                Gets or sets the roles that can access this <see cref="T:Discord.Emote"/>.
            </summary>
        </member>
        <member name="T:Discord.GuildEmote">
            <summary>
                An image-based emote that is attached to a guild.
            </summary>
        </member>
        <member name="P:Discord.GuildEmote.IsManaged">
            <summary>
                Gets whether this emoji is managed by an integration.
            </summary>
            <returns>
                A boolean that determines whether or not this emote is managed by a Twitch integration.
            </returns>
        </member>
        <member name="P:Discord.GuildEmote.RequireColons">
            <summary>
                Gets whether this emoji must be wrapped in colons.
            </summary>
            <returns>
                A boolean that determines whether or not this emote requires the use of colons in chat to be used.
            </returns>
        </member>
        <member name="P:Discord.GuildEmote.RoleIds">
            <summary>
                Gets the roles that are allowed to use this emoji.
            </summary>
            <returns>
                A read-only list containing snowflake identifiers for roles that are allowed to use this emoji.
            </returns>
        </member>
        <member name="P:Discord.GuildEmote.CreatorId">
            <summary>
                Gets the user ID associated with the creation of this emoji.
            </summary>
            <returns>
                An <see cref="T:System.UInt64"/> snowflake identifier representing the user who created this emoji; 
                <c>null</c> if unknown.
            </returns>
        </member>
        <member name="M:Discord.GuildEmote.ToString">
            <summary>
                Gets the raw representation of the emote.
            </summary>
            <returns>
                A string representing the raw presentation of the emote (e.g. <c>&lt;:thonkang:282745590985523200&gt;</c>).
            </returns>
        </member>
        <member name="T:Discord.IEmote">
            <summary>
                Represents a general container for any type of emote in a message.
            </summary>
        </member>
        <member name="P:Discord.IEmote.Name">
            <summary>
                Gets the display name or Unicode representation of this emote.
            </summary>
            <returns>
                A string representing the display name or the Unicode representation (e.g. <c>🤔</c>) of this emote.
            </returns>
        </member>
        <member name="T:Discord.DefaultMessageNotifications">
            <summary>
                Specifies the default message notification behavior the guild uses.
            </summary>
        </member>
        <member name="F:Discord.DefaultMessageNotifications.AllMessages">
            <summary>
                By default, all messages will trigger notifications.
            </summary>
        </member>
        <member name="F:Discord.DefaultMessageNotifications.MentionsOnly">
            <summary>
                By default, only mentions will trigger notifications.
            </summary>
        </member>
        <member name="F:Discord.ExplicitContentFilterLevel.Disabled">
            <summary> No messages will be scanned. </summary>
        </member>
        <member name="F:Discord.ExplicitContentFilterLevel.MembersWithoutRoles">
            <summary> Scans messages from all guild members that do not have a role. </summary>
            <remarks> Recommented option for servers that use roles for trusted membership. </remarks>
        </member>
        <member name="F:Discord.ExplicitContentFilterLevel.AllMembers">
            <summary> Scan messages sent by all guild members. </summary>
        </member>
        <member name="T:Discord.GuildEmbedProperties">
            <summary>
                Provides properties that are used to modify the widget of an <see cref="T:Discord.IGuild" /> with the specified changes.
            </summary>
        </member>
        <member name="P:Discord.GuildEmbedProperties.Enabled">
            <summary>
                Sets whether the widget should be enabled.
            </summary>
        </member>
        <member name="P:Discord.GuildEmbedProperties.Channel">
            <summary>
                Sets the channel that the invite should place its users in, if not <c>null</c>.
            </summary>
        </member>
        <member name="P:Discord.GuildEmbedProperties.ChannelId">
            <summary>
                Sets the channel the invite should place its users in, if not <c>null</c>.
            </summary>
        </member>
        <member name="T:Discord.GuildIntegrationProperties">
            <summary>
                Provides properties used to modify an <see cref="T:Discord.IGuildIntegration" /> with the specified changes.
            </summary>
        </member>
        <member name="P:Discord.GuildIntegrationProperties.ExpireBehavior">
            <summary>
                Gets or sets the behavior when an integration subscription lapses.
            </summary>
        </member>
        <member name="P:Discord.GuildIntegrationProperties.ExpireGracePeriod">
            <summary>
                Gets or sets the period (in seconds) where the integration will ignore lapsed subscriptions.
            </summary>
        </member>
        <member name="P:Discord.GuildIntegrationProperties.EnableEmoticons">
            <summary>
                Gets or sets whether emoticons should be synced for this integration.
            </summary>
        </member>
        <member name="T:Discord.GuildProperties">
            <summary>
                Provides properties that are used to modify an <see cref="T:Discord.IGuild" /> with the specified changes.
            </summary>
            <see cref="M:Discord.IGuild.ModifyAsync(System.Action{Discord.GuildProperties},Discord.RequestOptions)"/>
        </member>
        <member name="P:Discord.GuildProperties.Name">
            <summary>
                Gets or sets the name of the guild. Must be within 100 characters.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.Region">
            <summary>
                Gets or sets the region for the guild's voice connections.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.RegionId">
            <summary>
                Gets or sets the ID of the region for the guild's voice connections.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.VerificationLevel">
            <summary>
                Gets or sets the verification level new users need to achieve before speaking.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.DefaultMessageNotifications">
            <summary>
                Gets or sets the default message notification state for the guild.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.AfkTimeout">
            <summary>
                Gets or sets how many seconds before a user is sent to AFK. This value MUST be one of: (60, 300, 900,
                1800, 3600).
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.Icon">
            <summary>
                Gets or sets the icon of the guild.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.Splash">
            <summary>
                Gets or sets the guild's splash image.
            </summary>
            <remarks>
                The guild must be partnered for this value to have any effect.
            </remarks>
        </member>
        <member name="P:Discord.GuildProperties.AfkChannel">
            <summary>
                Gets or sets the <see cref="T:Discord.IVoiceChannel"/> where AFK users should be sent.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.AfkChannelId">
            <summary>
                Gets or sets the ID of the <see cref="T:Discord.IVoiceChannel"/> where AFK users should be sent.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.SystemChannel">
            <summary>
                Gets or sets the <see cref="T:Discord.ITextChannel" /> where system messages should be sent.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.SystemChannelId">
            <summary>
                Gets or sets the ID of the <see cref="T:Discord.ITextChannel" /> where system messages should be sent.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.Owner">
            <summary>
                Gets or sets the owner of this guild.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.OwnerId">
            <summary>
                Gets or sets the ID of the owner of this guild.
            </summary>
        </member>
        <member name="P:Discord.GuildProperties.ExplicitContentFilter">
            <summary>
                Gets or sets the explicit content filter level of this guild.
            </summary>
        </member>
        <member name="T:Discord.IBan">
            <summary>
                Represents a generic ban object.
            </summary>
        </member>
        <member name="P:Discord.IBan.User">
            <summary>
                Gets the banned user.
            </summary>
            <returns>
                A user that was banned.
            </returns>
        </member>
        <member name="P:Discord.IBan.Reason">
            <summary>
                Gets the reason why the user is banned if specified.
            </summary>
            <returns>
                A string containing the reason behind the ban; <c>null</c> if none is specified.
            </returns>
        </member>
        <member name="T:Discord.IGuild">
            <summary>
                Represents a generic guild/server.
            </summary>
        </member>
        <member name="P:Discord.IGuild.Name">
            <summary>
                Gets the name of this guild.
            </summary>
            <returns>
                A string containing the name of this guild.
            </returns>
        </member>
        <member name="P:Discord.IGuild.AFKTimeout">
            <summary>
                Gets the amount of time (in seconds) a user must be inactive in a voice channel for until they are
                automatically moved to the AFK voice channel.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the amount of time in seconds for a user to be marked as inactive
                and moved into the AFK voice channel.
            </returns>
        </member>
        <member name="P:Discord.IGuild.IsEmbeddable">
            <summary>
                Gets a value that indicates whether this guild is embeddable (i.e. can use widget).
            </summary>
            <returns>
                <c>true</c> if this guild can be embedded via widgets; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IGuild.DefaultMessageNotifications">
            <summary>
                Gets the default message notifications for users who haven't explicitly set their notification settings.
            </summary>
        </member>
        <member name="P:Discord.IGuild.MfaLevel">
            <summary>
                Gets the level of Multi-Factor Authentication requirements a user must fulfill before being allowed to
                perform administrative actions in this guild.
            </summary>
            <returns>
                The level of MFA requirement.
            </returns>
        </member>
        <member name="P:Discord.IGuild.VerificationLevel">
            <summary>
                Gets the level of requirements a user must fulfill before being allowed to post messages in this guild.
            </summary>
            <returns>
                The level of requirements.
            </returns>
        </member>
        <member name="P:Discord.IGuild.ExplicitContentFilter">
            <summary>
                Gets the level of content filtering applied to user's content in a Guild.
            </summary>
            <returns>
                The level of explicit content filtering.
            </returns>
        </member>
        <member name="P:Discord.IGuild.IconId">
            <summary>
                Gets the ID of this guild's icon.
            </summary>
            <returns>
                An identifier for the splash image; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuild.IconUrl">
            <summary>
                Gets the URL of this guild's icon.
            </summary>
            <returns>
                A URL pointing to the guild's icon; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuild.SplashId">
            <summary>
                Gets the ID of this guild's splash image.
            </summary>
            <returns>
                An identifier for the splash image; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuild.SplashUrl">
            <summary>
                Gets the URL of this guild's splash image.
            </summary>
            <returns>
                A URL pointing to the guild's splash image; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuild.Available">
            <summary>
                Determines if this guild is currently connected and ready to be used.
            </summary>
            <remarks>
                <note>
                    This property only applies to a WebSocket-based client.
                </note>
                This boolean is used to determine if the guild is currently connected to the WebSocket and is ready to be used/accessed.
            </remarks>
            <returns>
                <c>true</c> if this guild is currently connected and ready to be used; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IGuild.AFKChannelId">
            <summary>
                Gets the ID of the AFK voice channel for this guild.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the AFK voice channel; <c>null</c> if
                none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuild.DefaultChannelId">
            <summary>
                Gets the ID of the default channel for this guild.
            </summary>
            <remarks>
                This property retrieves the snowflake identifier of the first viewable text channel for this guild.
                <note type="warning">
                    This channel does not guarantee the user can send message to it, as it only looks for the first viewable
                    text channel.
                </note>
            </remarks>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the default text channel; <c>0</c> if
                none can be found.
            </returns>
        </member>
        <member name="P:Discord.IGuild.EmbedChannelId">
            <summary>
                Gets the ID of the widget embed channel of this guild.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the embedded channel found within the
                widget settings of this guild; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuild.SystemChannelId">
            <summary>
                Gets the ID of the channel where randomized welcome messages are sent.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the system channel where randomized
                welcome messages are sent; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuild.OwnerId">
            <summary>
                Gets the ID of the user that owns this guild.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the user that owns this guild.
            </returns>
        </member>
        <member name="P:Discord.IGuild.ApplicationId">
            <summary>
                Gets the application ID of the guild creator if it is bot-created.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the application ID that created this guild, or <c>null</c> if it was not bot-created.
            </returns>
        </member>
        <member name="P:Discord.IGuild.VoiceRegionId">
            <summary>
                Gets the ID of the region hosting this guild's voice channels.
            </summary>
            <returns>
                A string containing the identifier for the voice region that this guild uses (e.g. <c>eu-central</c>).
            </returns>
        </member>
        <member name="P:Discord.IGuild.AudioClient">
            <summary>
                Gets the <see cref="T:Discord.Audio.IAudioClient"/> currently associated with this guild.
            </summary>
            <returns>
                An <see cref="T:Discord.Audio.IAudioClient"/> currently associated with this guild.
            </returns>
        </member>
        <member name="P:Discord.IGuild.EveryoneRole">
            <summary>
                Gets the built-in role containing all users in this guild.
            </summary>
            <returns>
                A role object that represents an <c>@everyone</c> role in this guild.
            </returns>
        </member>
        <member name="P:Discord.IGuild.Emotes">
            <summary>
                Gets a collection of all custom emotes for this guild.
            </summary>
            <returns>
                A read-only collection of all custom emotes for this guild.
            </returns>
        </member>
        <member name="P:Discord.IGuild.Features">
            <summary>
                Gets a collection of all extra features added to this guild.
            </summary>
            <returns>
                A read-only collection of enabled features in this guild.
            </returns>
        </member>
        <member name="P:Discord.IGuild.Roles">
            <summary>
                Gets a collection of all roles in this guild.
            </summary>
            <returns>
                A read-only collection of roles found within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.ModifyAsync(System.Action{Discord.GuildProperties},Discord.RequestOptions)">
            <summary>
                Modifies this guild.
            </summary>
            <param name="func">The delegate containing the properties to modify the guild with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
        </member>
        <member name="M:Discord.IGuild.ModifyEmbedAsync(System.Action{Discord.GuildEmbedProperties},Discord.RequestOptions)">
            <summary>
                Modifies this guild's embed channel.
            </summary>
            <param name="func">The delegate containing the properties to modify the guild widget with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
        </member>
        <member name="M:Discord.IGuild.ReorderChannelsAsync(System.Collections.Generic.IEnumerable{Discord.ReorderChannelProperties},Discord.RequestOptions)">
            <summary>
                Bulk-modifies the order of channels in this guild.
            </summary>
            <param name="args">The properties used to modify the channel positions with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous reorder operation.
            </returns>
        </member>
        <member name="M:Discord.IGuild.ReorderRolesAsync(System.Collections.Generic.IEnumerable{Discord.ReorderRoleProperties},Discord.RequestOptions)">
            <summary>
                Bulk-modifies the order of roles in this guild.
            </summary>
            <param name="args">The properties used to modify the role positions with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous reorder operation.
            </returns>
        </member>
        <member name="M:Discord.IGuild.LeaveAsync(Discord.RequestOptions)">
            <summary>
                Leaves this guild.
            </summary>
            <remarks>
                This method will make the currently logged-in user leave the guild.
                <note>
                    If the user is the owner of this guild, use <see cref="M:Discord.IDeletable.DeleteAsync(Discord.RequestOptions)"/> instead.
                </note>
            </remarks>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous leave operation.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetBansAsync(Discord.RequestOptions)">
            <summary>
                Gets a collection of all users banned in this guild.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of
                ban objects that this guild currently possesses, with each object containing the user banned and reason
                behind the ban.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetBanAsync(Discord.IUser,Discord.RequestOptions)">
            <summary>
                Gets a ban object for a banned user.
            </summary>
            <param name="user">The banned user.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a ban object, which
                contains the user information and the reason for the ban; <c>null</c> if the ban entry cannot be found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetBanAsync(System.UInt64,Discord.RequestOptions)">
            <summary>
                Gets a ban object for a banned user.
            </summary>
            <param name="userId">The snowflake identifier for the banned user.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a ban object, which
                contains the user information and the reason for the ban; <c>null</c> if the ban entry cannot be found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.AddBanAsync(Discord.IUser,System.Int32,System.String,Discord.RequestOptions)">
            <summary>
                Bans the user from this guild and optionally prunes their recent messages.
            </summary>
            <param name="user">The user to ban.</param>
            <param name="pruneDays">The number of days to remove messages from this user for, and this number must be between [0, 7].</param>
            <param name="reason">The reason of the ban to be written in the audit log.</param>
            <param name="options">The options to be used when sending the request.</param>
            <exception cref="T:System.ArgumentException"><paramref name="pruneDays"/> is not between 0 to 7.</exception>
            <returns>
                A task that represents the asynchronous add operation for the ban.
            </returns>
        </member>
        <member name="M:Discord.IGuild.AddBanAsync(System.UInt64,System.Int32,System.String,Discord.RequestOptions)">
            <summary>
                Bans the user from this guild and optionally prunes their recent messages.
            </summary>
            <param name="userId">The snowflake ID of the user to ban.</param>
            <param name="pruneDays">The number of days to remove messages from this user for, and this number must be between [0, 7].</param>
            <param name="reason">The reason of the ban to be written in the audit log.</param>
            <param name="options">The options to be used when sending the request.</param>
            <exception cref="T:System.ArgumentException"><paramref name="pruneDays"/> is not between 0 to 7.</exception>
            <returns>
                A task that represents the asynchronous add operation for the ban.
            </returns>
        </member>
        <member name="M:Discord.IGuild.RemoveBanAsync(Discord.IUser,Discord.RequestOptions)">
            <summary>
                Unbans the user if they are currently banned.
            </summary>
            <param name="user">The user to be unbanned.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous removal operation for the ban.
            </returns>
        </member>
        <member name="M:Discord.IGuild.RemoveBanAsync(System.UInt64,Discord.RequestOptions)">
            <summary>
                Unbans the user if they are currently banned.
            </summary>
            <param name="userId">The snowflake identifier of the user to be unbanned.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous removal operation for the ban.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of all channels in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of
                generic channels found within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetChannelAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a channel in this guild.
            </summary>
            <param name="id">The snowflake identifier for the channel.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the generic channel
                associated with the specified <paramref name="id"/>; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetTextChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of all text channels in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of
                message channels found within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetTextChannelAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a text channel in this guild.
            </summary>
            <param name="id">The snowflake identifier for the text channel.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the text channel
                associated with the specified <paramref name="id"/>; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetVoiceChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of all voice channels in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of
                voice channels found within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetCategoriesAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of all category channels in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of
                category channels found within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetVoiceChannelAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a voice channel in this guild.
            </summary>
            <param name="id">The snowflake identifier for the voice channel.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the voice channel associated
                with the specified <paramref name="id"/>; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetAFKChannelAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the AFK voice channel in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the voice channel that the
                AFK users will be moved to after they have idled for too long; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetSystemChannelAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the system channel where randomized welcome messages are sent in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the text channel where
                randomized welcome messages will be sent to; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetDefaultChannelAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the first viewable text channel in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the first viewable text
                channel in this guild; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetEmbedChannelAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the embed channel (i.e. the channel set in the guild's widget settings) in this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the embed channel set
                within the server's widget settings; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="M:Discord.IGuild.CreateTextChannelAsync(System.String,System.Action{Discord.TextChannelProperties},Discord.RequestOptions)">
            <summary>
                Creates a new text channel in this guild.
            </summary>
            <example>
                The following example creates a new text channel under an existing category named <c>Wumpus</c> with a set topic.
                <code language="cs" region="CreateTextChannelAsync"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Guilds\IGuild.Examples.cs"/>
            </example>
            <param name="name">The new name for the text channel.</param>
            <param name="func">The delegate containing the properties to be applied to the channel upon its creation.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous creation operation. The task result contains the newly created
                text channel.
            </returns>
        </member>
        <member name="M:Discord.IGuild.CreateVoiceChannelAsync(System.String,System.Action{Discord.VoiceChannelProperties},Discord.RequestOptions)">
            <summary>
                Creates a new voice channel in this guild.
            </summary>
            <param name="name">The new name for the voice channel.</param>
            <param name="func">The delegate containing the properties to be applied to the channel upon its creation.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous creation operation. The task result contains the newly created
                voice channel.
            </returns>
        </member>
        <member name="M:Discord.IGuild.CreateCategoryAsync(System.String,System.Action{Discord.GuildChannelProperties},Discord.RequestOptions)">
            <summary>
                Creates a new channel category in this guild.
            </summary>
            <param name="name">The new name for the category.</param>
            <param name="func">The delegate containing the properties to be applied to the channel upon its creation.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous creation operation. The task result contains the newly created
                category channel.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetVoiceRegionsAsync(Discord.RequestOptions)">
            <summary>
                Gets a collection of all the voice regions this guild can access.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of
                voice regions the guild can access.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetInvitesAsync(Discord.RequestOptions)">
            <summary>
                Gets a collection of all invites in this guild.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of
                invite metadata, each representing information for an invite found within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetVanityInviteAsync(Discord.RequestOptions)">
            <summary>
                Gets the vanity invite URL of this guild.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the partial metadata of
                the vanity invite found within this guild; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetRole(System.UInt64)">
            <summary>
                Gets a role in this guild.
            </summary>
            <param name="id">The snowflake identifier for the role.</param>
            <returns>
                A role that is associated with the specified <paramref name="id"/>; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.CreateRoleAsync(System.String,System.Nullable{Discord.GuildPermissions},System.Nullable{Discord.Color},System.Boolean,Discord.RequestOptions)">
            <summary>
                Creates a new role with the provided name.
            </summary>
            <param name="name">The new name for the role.</param>
            <param name="permissions">The guild permission that the role should possess.</param>
            <param name="color">The color of the role.</param>
            <param name="isHoisted">Whether the role is separated from others on the sidebar.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous creation operation. The task result contains the newly created
                role.
            </returns>
        </member>
        <member name="M:Discord.IGuild.AddGuildUserAsync(System.UInt64,System.String,System.Action{Discord.AddGuildUserProperties},Discord.RequestOptions)">
            <summary>
                Adds a user to this guild.
            </summary>
            <remarks>
                This method requires you have an OAuth2 access token for the user, requested with the guilds.join scope, and that the bot have the MANAGE_INVITES permission in the guild.
            </remarks>
            <param name="id">The snowflake identifier of the user.</param>
            <param name="accessToken">The OAuth2 access token for the user, requested with the guilds.join scope.</param>
            <param name="func">The delegate containing the properties to be applied to the user upon being added to the guild.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>A guild user associated with the specified <paramref name="id" />; <c>null</c> if the user is already in the guild.</returns>
        </member>
        <member name="M:Discord.IGuild.GetUsersAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of all users in this guild.
            </summary>
            <remarks>
                This method retrieves all users found within this guild.
                <note>
                    This may return an incomplete collection in the WebSocket implementation due to how Discord does not
                    send a complete user list for large guilds.
                </note>
            </remarks>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a collection of guild
                users found within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetUserAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a user from this guild.
            </summary>
            <remarks>
                This method retrieves a user found within this guild.
                <note>
                    This may return <c>null</c> in the WebSocket implementation due to incomplete user collection in
                    large guilds.
                </note>
            </remarks>
            <param name="id">The snowflake identifier of the user.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the guild user
                associated with the specified <paramref name="id"/>; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetCurrentUserAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the current user for this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the currently logged-in
                user within this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetOwnerAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the owner of this guild.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the owner of this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.DownloadUsersAsync">
            <summary>
                Downloads all users for this guild if the current list is incomplete.
            </summary>
            <returns>
                A task that represents the asynchronous download operation.
            </returns>
        </member>
        <member name="M:Discord.IGuild.PruneUsersAsync(System.Int32,System.Boolean,Discord.RequestOptions)">
            <summary>
                Prunes inactive users.
            </summary>
            <remarks>
                <para>
                    This method removes all users that have not logged on in the provided number of <paramref name="days"/>.
                </para>
                <para>
                    If <paramref name="simulate" /> is <c>true</c>, this method will only return the number of users that
                    would be removed without kicking the users.
                </para>
            </remarks>
            <param name="days">The number of days required for the users to be kicked.</param>
            <param name="simulate">Whether this prune action is a simulation.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous prune operation. The task result contains the number of users to
                be or has been removed from this guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetAuditLogsAsync(System.Int32,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets the specified number of audit log entries for this guild.
            </summary>
            <param name="limit">The number of audit log entries to fetch.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode" /> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection
                of the requested audit log entries.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetWebhookAsync(System.UInt64,Discord.RequestOptions)">
            <summary>
                Gets a webhook found within this guild.
            </summary>
            <param name="id">The identifier for the webhook.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the webhook with the
                specified <paramref name="id"/>; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetWebhooksAsync(Discord.RequestOptions)">
            <summary>
                Gets a collection of all webhook from this guild.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection
                of webhooks found within the guild.
            </returns>
        </member>
        <member name="M:Discord.IGuild.GetEmoteAsync(System.UInt64,Discord.RequestOptions)">
            <summary>
                Gets a specific emote from this guild.
            </summary>
            <param name="id">The snowflake identifier for the guild emote.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the emote found with the
                specified <paramref name="id"/>; <c>null</c> if none is found.
            </returns>
        </member>
        <member name="M:Discord.IGuild.CreateEmoteAsync(System.String,Discord.Image,Discord.Optional{System.Collections.Generic.IEnumerable{Discord.IRole}},Discord.RequestOptions)">
            <summary>
                Creates a new <see cref="T:Discord.GuildEmote"/> in this guild.
            </summary>
            <param name="name">The name of the guild emote.</param>
            <param name="image">The image of the new emote.</param>
            <param name="roles">The roles to limit the emote usage to.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous creation operation. The task result contains the created emote.
            </returns>
        </member>
        <member name="M:Discord.IGuild.ModifyEmoteAsync(Discord.GuildEmote,System.Action{Discord.EmoteProperties},Discord.RequestOptions)">
            <summary>
                Modifies an existing <see cref="T:Discord.GuildEmote"/> in this guild.
            </summary>
            <param name="emote">The emote to be modified.</param>
            <param name="func">The delegate containing the properties to modify the emote with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation. The task result contains the modified
                emote.
            </returns>
        </member>
        <member name="M:Discord.IGuild.DeleteEmoteAsync(Discord.GuildEmote,Discord.RequestOptions)">
            <summary>
                Deletes an existing <see cref="T:Discord.GuildEmote"/> from this guild.
            </summary>
            <param name="emote">The emote to delete.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous removal operation.
            </returns>
        </member>
        <member name="T:Discord.IGuildIntegration">
            <summary>
                Holds information for a guild integration feature.
            </summary>
        </member>
        <member name="P:Discord.IGuildIntegration.Id">
            <summary>
                Gets the integration ID.
            </summary>
            <returns>
                An <see cref="T:System.UInt64"/> representing the unique identifier value of this integration.
            </returns>
        </member>
        <member name="P:Discord.IGuildIntegration.Name">
            <summary>
                Gets the integration name.
            </summary>
            <returns>
                A string containing the name of this integration.
            </returns>
        </member>
        <member name="P:Discord.IGuildIntegration.Type">
            <summary>
                Gets the integration type (Twitch, YouTube, etc).
            </summary>
            <returns>
                A string containing the name of the type of integration.
            </returns>
        </member>
        <member name="P:Discord.IGuildIntegration.IsEnabled">
            <summary>
                Gets a value that indicates whether this integration is enabled or not.
            </summary>
            <returns>
                <c>true</c> if this integration is enabled; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IGuildIntegration.IsSyncing">
            <summary>
                Gets a value that indicates whether this integration is syncing or not.
            </summary>
            <remarks>
                An integration with syncing enabled will update its "subscribers" on an interval, while one with syncing
                disabled will not. A user must manually choose when sync the integration if syncing is disabled.
            </remarks>
            <returns>
                 <c>true</c> if this integration is syncing; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IGuildIntegration.ExpireBehavior">
            <summary>
                Gets the ID that this integration uses for "subscribers".
            </summary>
        </member>
        <member name="P:Discord.IGuildIntegration.ExpireGracePeriod">
            <summary>
                Gets the grace period before expiring "subscribers".
            </summary>
        </member>
        <member name="P:Discord.IGuildIntegration.SyncedAt">
            <summary>
                Gets when this integration was last synced.
            </summary>
            <returns>
                A <see cref="T:System.DateTimeOffset"/> containing a date and time of day when the integration was last synced.
            </returns>
        </member>
        <member name="P:Discord.IGuildIntegration.Account">
            <summary>
                Gets integration account information.
            </summary>
        </member>
        <member name="P:Discord.IntegrationAccount.Id">
            <summary> Gets the ID of the account. </summary>
            <returns> A <see cref="T:System.String"/> unique identifier of this integration account. </returns>
        </member>
        <member name="P:Discord.IntegrationAccount.Name">
            <summary> Gets the name of the account. </summary>
            <returns> A string containing the name of this integration account. </returns>
        </member>
        <member name="P:Discord.IUserGuild.Name">
            <summary>
                Gets the name of this guild.
            </summary>
        </member>
        <member name="P:Discord.IUserGuild.IconUrl">
            <summary>
                Gets the icon URL associated with this guild, or <c>null</c> if one is not set.
            </summary>
        </member>
        <member name="P:Discord.IUserGuild.IsOwner">
            <summary>
                Returns <c>true</c> if the current user owns this guild.
            </summary>
        </member>
        <member name="P:Discord.IUserGuild.Permissions">
            <summary>
                Returns the current user's permissions for this guild.
            </summary>
        </member>
        <member name="T:Discord.IVoiceRegion">
            <summary>
                Represents a region of which the user connects to when using voice.
            </summary>
        </member>
        <member name="P:Discord.IVoiceRegion.Id">
            <summary>
                Gets the unique identifier for this voice region.
            </summary>
            <returns>
                A string that represents the identifier for this voice region (e.g. <c>eu-central</c>).
            </returns>
        </member>
        <member name="P:Discord.IVoiceRegion.Name">
            <summary>
                Gets the name of this voice region.
            </summary>
            <returns>
                A string that represents the human-readable name of this voice region (e.g. <c>Central Europe</c>).
            </returns>
        </member>
        <member name="P:Discord.IVoiceRegion.IsVip">
            <summary>
                Gets a value that indicates whether or not this voice region is exclusive to partnered servers.
            </summary>
            <returns>
                <c>true</c> if this voice region is exclusive to VIP accounts; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IVoiceRegion.IsOptimal">
            <summary>
                Gets a value that indicates whether this voice region is optimal for your client in terms of latency.
            </summary>
            <returns>
                <c>true</c> if this voice region is the closest to your machine; otherwise <c>false</c> .
            </returns>
        </member>
        <member name="P:Discord.IVoiceRegion.IsDeprecated">
            <summary>
                Gets a value that indicates whether this voice region is no longer being maintained.
            </summary>
            <returns>
                <c>true</c> if this is a deprecated voice region; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IVoiceRegion.IsCustom">
            <summary>
                Gets a value that indicates whether this voice region is custom-made for events.
            </summary>
            <returns> 
                <c>true</c> if this is a custom voice region (used for events/etc); otherwise <c>false</c>/
            </returns>
        </member>
        <member name="T:Discord.MfaLevel">
            <summary>
                Specifies the guild's Multi-Factor Authentication (MFA) level requirement.
            </summary>
        </member>
        <member name="F:Discord.MfaLevel.Disabled">
            <summary>
                Users have no additional MFA restriction on this guild.
            </summary>
        </member>
        <member name="F:Discord.MfaLevel.Enabled">
            <summary>
                Users must have MFA enabled on their account to perform administrative actions.
            </summary>
        </member>
        <member name="T:Discord.PermissionTarget">
            <summary>
                Specifies the target of the permission.
            </summary>
        </member>
        <member name="F:Discord.PermissionTarget.Role">
            <summary>
                The target of the permission is a role.
            </summary>
        </member>
        <member name="F:Discord.PermissionTarget.User">
            <summary>
                The target of the permission is a user.
            </summary>
        </member>
        <member name="T:Discord.VerificationLevel">
            <summary>
                Specifies the verification level the guild uses.
            </summary>
        </member>
        <member name="F:Discord.VerificationLevel.None">
            <summary>
                Users have no additional restrictions on sending messages to this guild.
            </summary>
        </member>
        <member name="F:Discord.VerificationLevel.Low">
            <summary>
                Users must have a verified email on their account.
            </summary>
        </member>
        <member name="F:Discord.VerificationLevel.Medium">
            <summary>
                Users must fulfill the requirements of Low and be registered on Discord for at least 5 minutes.
            </summary>
        </member>
        <member name="F:Discord.VerificationLevel.High">
            <summary>
                Users must fulfill the requirements of Medium and be a member of this guild for at least 10 minutes.
            </summary>
        </member>
        <member name="F:Discord.VerificationLevel.Extreme">
            <summary>
                Users must fulfill the requirements of High and must have a verified phone on their Discord account.
            </summary>
        </member>
        <member name="T:Discord.IApplication">
            <summary>
                Represents a Discord application created via the developer portal.
            </summary>
        </member>
        <member name="P:Discord.IApplication.Name">
            <summary>
                Gets the name of the application.
            </summary>
        </member>
        <member name="P:Discord.IApplication.Description">
            <summary>
                Gets the description of the application.
            </summary>
        </member>
        <member name="P:Discord.IApplication.RPCOrigins">
            <summary>
                Gets the RPC origins of the application.
            </summary>
        </member>
        <member name="P:Discord.IApplication.IconUrl">
            <summary>
                Gets the icon URL of the application.
            </summary>
        </member>
        <member name="P:Discord.IApplication.Owner">
            <summary>
                Gets the partial user object containing info on the owner of the application.
            </summary>
        </member>
        <member name="T:Discord.IDeletable">
            <summary>
                Determines whether the object is deletable or not.
            </summary>
        </member>
        <member name="M:Discord.IDeletable.DeleteAsync(Discord.RequestOptions)">
            <summary>
                Deletes this object and all its children.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
        </member>
        <member name="P:Discord.IEntity`1.Id">
            <summary>
                Gets the unique identifier for this object.
            </summary>
        </member>
        <member name="T:Discord.Image">
            <summary>
                An image that will be uploaded to Discord.
            </summary>
        </member>
        <member name="P:Discord.Image.Stream">
            <summary>
                Gets the stream to be uploaded to Discord.
            </summary>
        </member>
        <member name="M:Discord.Image.#ctor(System.IO.Stream)">
            <summary>
                Create the image with a <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="stream">
                The <see cref="T:System.IO.Stream" /> to create the image with. Note that this must be some type of stream
                with the contents of a file in it.
            </param>
        </member>
        <member name="M:Discord.Image.#ctor(System.String)">
            <summary>
                Create the image from a file path.
            </summary>
            <remarks>
                This file path is NOT validated and is passed directly into a
                <see cref="M:System.IO.File.OpenRead(System.String)"/>.
            </remarks>
            <param name="path">The path to the file.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="path" /> is a zero-length string, contains only white space, or contains one or more invalid
            characters as defined by <see cref="M:System.IO.Path.GetInvalidPathChars"/>.
            </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="path" /> is <c>null</c>.</exception>
            <exception cref="T:System.IO.PathTooLongException">
            The specified path, file name, or both exceed the system-defined maximum length. For example, on
            Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260
            characters.
            </exception>
            <exception cref="T:System.NotSupportedException"><paramref name="path" /> is in an invalid format.</exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
            The specified <paramref name="path"/> is invalid, (for example, it is on an unmapped drive).
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
            <paramref name="path" /> specified a directory.-or- The caller does not have the required permission.
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">The file specified in <paramref name="path" /> was not found.
            </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurred while opening the file. </exception>
        </member>
        <member name="M:Discord.Image.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:Discord.ImageFormat">
            <summary>
                Specifies the type of format the image should return in.
            </summary>
        </member>
        <member name="F:Discord.ImageFormat.Auto">
            <summary>
                Use automatically detected format.
            </summary>
        </member>
        <member name="F:Discord.ImageFormat.WebP">
            <summary>
                Use Google's WebP image format.
            </summary>
        </member>
        <member name="F:Discord.ImageFormat.Png">
            <summary>
                Use PNG.
            </summary>
        </member>
        <member name="F:Discord.ImageFormat.Jpeg">
            <summary>
                Use JPEG.
            </summary>
        </member>
        <member name="F:Discord.ImageFormat.Gif">
            <summary>
                Use GIF.
            </summary>
        </member>
        <member name="T:Discord.IMentionable">
            <summary>
                Determines whether the object is mentionable or not.
            </summary>
        </member>
        <member name="P:Discord.IMentionable.Mention">
            <summary>
                Returns a special string used to mention this object.
            </summary>
            <returns>
                A string that is recognized by Discord as a mention (e.g. &lt;@168693960628371456&gt;).
            </returns>
        </member>
        <member name="T:Discord.IInvite">
            <summary>
                Represents a generic invite object.
            </summary>
        </member>
        <member name="P:Discord.IInvite.Code">
            <summary>
                Gets the unique identifier for this invite.
            </summary>
            <returns>
                A string containing the invite code (e.g. <c>FTqNnyS</c>).
            </returns>
        </member>
        <member name="P:Discord.IInvite.Url">
            <summary>
                Gets the URL used to accept this invite using <see cref="P:Discord.IInvite.Code"/>.
            </summary>
            <returns>
                A string containing the full invite URL (e.g. <c>https://discord.gg/FTqNnyS</c>).
            </returns>
        </member>
        <member name="P:Discord.IInvite.Channel">
            <summary>
                Gets the channel this invite is linked to.
            </summary>
            <returns>
                A generic channel that the invite points to.
            </returns>
        </member>
        <member name="P:Discord.IInvite.ChannelType">
            <summary>
                Gets the type of the channel this invite is linked to.
            </summary>
        </member>
        <member name="P:Discord.IInvite.ChannelId">
            <summary>
                Gets the ID of the channel this invite is linked to.
            </summary>
            <returns>
                An <see cref="T:System.UInt64"/> representing the channel snowflake identifier that the invite points to.
            </returns>
        </member>
        <member name="P:Discord.IInvite.ChannelName">
            <summary>
                Gets the name of the channel this invite is linked to.
            </summary>
            <returns>
                A string containing the name of the channel that the invite points to.
            </returns>
        </member>
        <member name="P:Discord.IInvite.Guild">
            <summary>
                Gets the guild this invite is linked to.
            </summary>
            <returns>
                A guild object representing the guild that the invite points to.
            </returns>
        </member>
        <member name="P:Discord.IInvite.GuildId">
            <summary>
                Gets the ID of the guild this invite is linked to.
            </summary>
            <returns>
                An <see cref="T:System.UInt64"/> representing the guild snowflake identifier that the invite points to.
            </returns>
        </member>
        <member name="P:Discord.IInvite.GuildName">
            <summary>
                Gets the name of the guild this invite is linked to.
            </summary>
            <returns>
                A string containing the name of the guild that the invite points to.
            </returns>
        </member>
        <member name="P:Discord.IInvite.PresenceCount">
            <summary>
                Gets the approximated count of online members in the guild.
            </summary>
            <returns>
                An <see cref="T:System.Int32" /> representing the approximated online member count of the guild that the
                invite points to; <c>null</c> if one cannot be obtained.
            </returns>
        </member>
        <member name="P:Discord.IInvite.MemberCount">
            <summary>
                Gets the approximated count of total members in the guild.
            </summary>
            <returns>
                An <see cref="T:System.Int32" /> representing the approximated total member count of the guild that the
                invite points to; <c>null</c> if one cannot be obtained.
            </returns>
        </member>
        <member name="T:Discord.IInviteMetadata">
            <summary>
                Represents additional information regarding the generic invite object.
            </summary>
        </member>
        <member name="P:Discord.IInviteMetadata.Inviter">
            <summary>
                Gets the user that created this invite.
            </summary>
            <returns>
                A user that created this invite.
            </returns>
        </member>
        <member name="P:Discord.IInviteMetadata.IsRevoked">
            <summary>
                Gets a value that indicates whether the invite has been revoked.
            </summary>
            <returns>
                <c>true</c> if this invite was revoked; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IInviteMetadata.IsTemporary">
            <summary>
                Gets a value that indicates whether the invite is a temporary one.
            </summary>
            <returns>
                <c>true</c> if users accepting this invite will be removed from the guild when they log off; otherwise 
                <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IInviteMetadata.MaxAge">
            <summary>
                Gets the time (in seconds) until the invite expires.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the time in seconds until this invite expires; <c>null</c> if this
                invite never expires.
            </returns>
        </member>
        <member name="P:Discord.IInviteMetadata.MaxUses">
            <summary>
                Gets the max number of uses this invite may have.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the number of uses this invite may be accepted until it is removed
                from the guild; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IInviteMetadata.Uses">
            <summary>
                Gets the number of times this invite has been used.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the number of times this invite has been used.
            </returns>
        </member>
        <member name="P:Discord.IInviteMetadata.CreatedAt">
            <summary>
                Gets when this invite was created.
            </summary>
            <returns>
                A <see cref="T:System.DateTimeOffset"/> representing the time of which the invite was first created.
            </returns>
        </member>
        <member name="T:Discord.ISnowflakeEntity">
            <summary> Represents a Discord snowflake entity. </summary>
        </member>
        <member name="P:Discord.ISnowflakeEntity.CreatedAt">
            <summary>
                Gets when the snowflake was created.
            </summary>
            <returns>
                A <see cref="T:System.DateTimeOffset"/> representing when the entity was first created.
            </returns>
        </member>
        <member name="T:Discord.IUpdateable">
            <summary>
                Defines whether the object is updateable or not.
            </summary>
        </member>
        <member name="M:Discord.IUpdateable.UpdateAsync(Discord.RequestOptions)">
            <summary>
                Updates this object's properties with its current state.
            </summary>
        </member>
        <member name="T:Discord.Embed">
            <summary>
                Represents an embed object seen in an <see cref="T:Discord.IUserMessage"/>.
            </summary>
        </member>
        <member name="P:Discord.Embed.Type">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Description">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Url">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Title">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Timestamp">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Color">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Image">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Video">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Author">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Footer">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Provider">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Thumbnail">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Fields">
            <inheritdoc/>
        </member>
        <member name="P:Discord.Embed.Length">
            <summary>
                Gets the total length of all embed properties.
            </summary>
        </member>
        <member name="M:Discord.Embed.ToString">
            <summary>
                Gets the title of the embed.
            </summary>
        </member>
        <member name="T:Discord.EmbedAuthor">
            <summary>
                A author field of an <see cref="T:Discord.Embed"/>.
            </summary>
        </member>
        <member name="P:Discord.EmbedAuthor.Name">
            <summary>
                Gets the name of the author field.
            </summary>
        </member>
        <member name="P:Discord.EmbedAuthor.Url">
            <summary>
                Gets the URL of the author field.
            </summary>
        </member>
        <member name="P:Discord.EmbedAuthor.IconUrl">
            <summary>
                Gets the icon URL of the author field.
            </summary>
        </member>
        <member name="P:Discord.EmbedAuthor.ProxyIconUrl">
            <summary>
                Gets the proxified icon URL of the author field.
            </summary>
        </member>
        <member name="M:Discord.EmbedAuthor.ToString">
            <summary>
                Gets the name of the author field.
            </summary>
            <returns>
                
            </returns>
        </member>
        <member name="T:Discord.EmbedBuilder">
            <summary>
                Represents a builder class for creating a <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.Embed"/>.
            </summary>
        </member>
        <member name="F:Discord.EmbedBuilder.MaxFieldCount">
            <summary> 
                Returns the maximum number of fields allowed by Discord. 
            </summary>
        </member>
        <member name="F:Discord.EmbedBuilder.MaxTitleLength">
            <summary> 
                Returns the maximum length of title allowed by Discord. 
            </summary>
        </member>
        <member name="F:Discord.EmbedBuilder.MaxDescriptionLength">
            <summary> 
                Returns the maximum length of description allowed by Discord. 
            </summary>
        </member>
        <member name="F:Discord.EmbedBuilder.MaxEmbedLength">
            <summary> 
                Returns the maximum length of total characters allowed by Discord. 
            </summary>
        </member>
        <member name="M:Discord.EmbedBuilder.#ctor">
            <summary> Initializes a new <see cref="T:Discord.EmbedBuilder"/> class. </summary>
        </member>
        <member name="P:Discord.EmbedBuilder.Title">
            <summary> Gets or sets the title of an <see cref="T:Discord.Embed"/>. </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Title length exceeds <see cref="F:Discord.EmbedBuilder.MaxTitleLength"/>.
            </exception>
            <returns> The title of the embed.</returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Description">
            <summary> Gets or sets the description of an <see cref="T:Discord.Embed"/>. </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Description length exceeds <see cref="F:Discord.EmbedBuilder.MaxDescriptionLength"/>.</exception>
            <returns> The description of the embed.</returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Url">
            <summary> Gets or sets the URL of an <see cref="T:Discord.Embed"/>. </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Url is not a well-formed <see cref="T:System.Uri"/>.</exception>
            <returns> The URL of the embed.</returns>
        </member>
        <member name="P:Discord.EmbedBuilder.ThumbnailUrl">
            <summary> Gets or sets the thumbnail URL of an <see cref="T:Discord.Embed"/>. </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Url is not a well-formed <see cref="T:System.Uri"/>.</exception>
            <returns> The thumbnail URL of the embed.</returns>
        </member>
        <member name="P:Discord.EmbedBuilder.ImageUrl">
            <summary> Gets or sets the image URL of an <see cref="T:Discord.Embed"/>. </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Url is not a well-formed <see cref="T:System.Uri"/>.</exception>
            <returns> The image URL of the embed.</returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Fields">
            <summary> Gets or sets the list of <see cref="T:Discord.EmbedFieldBuilder"/> of an <see cref="T:Discord.Embed"/>. </summary>
            <exception cref="T:System.ArgumentNullException" accessor="set">An embed builder's fields collection is set to 
            <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException" accessor="set">Description length exceeds <see cref="F:Discord.EmbedBuilder.MaxFieldCount"/>.
            </exception>
            <returns> The list of existing <see cref="T:Discord.EmbedFieldBuilder"/>.</returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Timestamp">
            <summary>
                Gets or sets the timestamp of an <see cref="T:Discord.Embed"/>.
            </summary>
            <returns>
                The timestamp of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Color">
            <summary>
                Gets or sets the sidebar color of an <see cref="T:Discord.Embed"/>.
            </summary>
            <returns>
                The color of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Author">
            <summary>
                Gets or sets the <see cref="T:Discord.EmbedAuthorBuilder" /> of an <see cref="T:Discord.Embed"/>.
            </summary>
            <returns>
                The author field builder of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Footer">
            <summary>
                Gets or sets the <see cref="T:Discord.EmbedFooterBuilder" /> of an <see cref="T:Discord.Embed"/>.
            </summary>
            <returns>
                The footer field builder of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.EmbedBuilder.Length">
            <summary>
                Gets the total length of all embed properties.
            </summary>
            <returns>
                The combined length of <see cref="P:Discord.EmbedBuilder.Title"/>, <see cref="P:Discord.EmbedAuthor.Name"/>, <see cref="P:Discord.EmbedBuilder.Description"/>, 
                <see cref="P:Discord.EmbedFooter.Text"/>, <see cref="P:Discord.EmbedField.Name"/>, and <see cref="P:Discord.EmbedField.Value"/>.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithTitle(System.String)">
            <summary>
                Sets the title of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="title">The title to be set.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithDescription(System.String)">
            <summary> 
                Sets the description of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="description"> The description to be set. </param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithUrl(System.String)">
            <summary> 
                Sets the URL of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="url"> The URL to be set. </param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithThumbnailUrl(System.String)">
            <summary> 
                Sets the thumbnail URL of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="thumbnailUrl"> The thumbnail URL to be set. </param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithImageUrl(System.String)">
            <summary>
                Sets the image URL of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="imageUrl">The image URL to be set.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithCurrentTimestamp">
            <summary>
                Sets the timestamp of an <see cref="T:Discord.Embed" /> to the current time.
            </summary>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithTimestamp(System.DateTimeOffset)">
            <summary>
                Sets the timestamp of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="dateTimeOffset">The timestamp to be set.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithColor(Discord.Color)">
            <summary>
                Sets the sidebar color of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="color">The color to be set.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithAuthor(Discord.EmbedAuthorBuilder)">
            <summary>
                Sets the <see cref="T:Discord.EmbedAuthorBuilder" /> of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="author">The author builder class containing the author field properties.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithAuthor(System.Action{Discord.EmbedAuthorBuilder})">
            <summary>
                Sets the author field of an <see cref="T:Discord.Embed" /> with the provided properties.
            </summary>
            <param name="action">The delegate containing the author field properties.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithAuthor(System.String,System.String,System.String)">
            <summary>
                Sets the author field of an <see cref="T:Discord.Embed" /> with the provided name, icon URL, and URL.
            </summary>
            <param name="name">The title of the author field.</param>
            <param name="iconUrl">The icon URL of the author field.</param>
            <param name="url">The URL of the author field.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithFooter(Discord.EmbedFooterBuilder)">
            <summary>
                Sets the <see cref="T:Discord.EmbedFooterBuilder" /> of an <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="footer">The footer builder class containing the footer field properties.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithFooter(System.Action{Discord.EmbedFooterBuilder})">
            <summary>
                Sets the footer field of an <see cref="T:Discord.Embed" /> with the provided properties.
            </summary>
            <param name="action">The delegate containing the footer field properties.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.WithFooter(System.String,System.String)">
            <summary>
                Sets the footer field of an <see cref="T:Discord.Embed" /> with the provided name, icon URL.
            </summary>
            <param name="text">The title of the footer field.</param>
            <param name="iconUrl">The icon URL of the footer field.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.AddField(System.String,System.Object,System.Boolean)">
            <summary>
                Adds an <see cref="T:Discord.Embed" /> field with the provided name and value.
            </summary>
            <param name="name">The title of the field.</param>
            <param name="value">The value of the field.</param>
            <param name="inline">Indicates whether the field is in-line or not.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.AddField(Discord.EmbedFieldBuilder)">
            <summary>
                Adds a field with the provided <see cref="T:Discord.EmbedFieldBuilder" /> to an
                <see cref="T:Discord.Embed"/>.
            </summary>
            <param name="field">The field builder class containing the field properties.</param>
            <exception cref="T:System.ArgumentException">Field count exceeds <see cref="F:Discord.EmbedBuilder.MaxFieldCount"/>.</exception>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.AddField(System.Action{Discord.EmbedFieldBuilder})">
            <summary>
                Adds an <see cref="T:Discord.Embed" /> field with the provided properties.
            </summary>
            <param name="action">The delegate containing the field properties.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedBuilder.Build">
            <summary>
                Builds the <see cref="T:Discord.Embed" /> into a Rich Embed ready to be sent.
            </summary>
            <returns>
                The built embed object.
            </returns>
            <exception cref="T:System.InvalidOperationException">Total embed length exceeds <see cref="F:Discord.EmbedBuilder.MaxEmbedLength"/>.</exception>
        </member>
        <member name="T:Discord.EmbedFieldBuilder">
            <summary>
                Represents a builder class for an embed field.
            </summary>
        </member>
        <member name="F:Discord.EmbedFieldBuilder.MaxFieldNameLength">
            <summary>
                Gets the maximum field length for name allowed by Discord.
            </summary>
        </member>
        <member name="F:Discord.EmbedFieldBuilder.MaxFieldValueLength">
            <summary>
                Gets the maximum field length for value allowed by Discord.
            </summary>
        </member>
        <member name="P:Discord.EmbedFieldBuilder.Name">
            <summary>
                Gets or sets the field name.
            </summary>
            <exception cref="T:System.ArgumentException">
            <para>Field name is <c>null</c>, empty or entirely whitespace.</para>
            <para><c>- or -</c></para>
            <para>Field name length exceeds <see cref="F:Discord.EmbedFieldBuilder.MaxFieldNameLength"/>.</para>
            </exception>
            <returns>
                The name of the field.
            </returns>
        </member>
        <member name="P:Discord.EmbedFieldBuilder.Value">
            <summary>
                Gets or sets the field value.
            </summary>
            <exception cref="T:System.ArgumentException" accessor="set">
            <para>Field value is <c>null</c>, empty or entirely whitespace.</para>
            <para><c>- or -</c></para>
            <para>Field value length exceeds <see cref="F:Discord.EmbedFieldBuilder.MaxFieldValueLength"/>.</para>
            </exception>
            <returns>
                The value of the field.
            </returns>
        </member>
        <member name="P:Discord.EmbedFieldBuilder.IsInline">
            <summary>
                Gets or sets a value that indicates whether the field should be in-line with each other.
            </summary>
        </member>
        <member name="M:Discord.EmbedFieldBuilder.WithName(System.String)">
            <summary>
                Sets the field name.
            </summary>
            <param name="name">The name to set the field name to.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedFieldBuilder.WithValue(System.Object)">
            <summary>
                Sets the field value.
            </summary>
            <param name="value">The value to set the field value to.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedFieldBuilder.WithIsInline(System.Boolean)">
            <summary>
                Determines whether the field should be in-line with each other.
            </summary>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedFieldBuilder.Build">
            <summary>
                Builds the field builder into a <see cref="T:Discord.EmbedField" /> class.
            </summary>
            <returns>
                The current builder.
            </returns>
            <exception cref="T:System.ArgumentException">
            <para><see cref="P:Discord.EmbedFieldBuilder.Name"/> or <see cref="P:Discord.EmbedFieldBuilder.Value"/> is <c>null</c>, empty or entirely whitespace.</para>
            <para><c>- or -</c></para>
            <para><see cref="P:Discord.EmbedFieldBuilder.Name"/> or <see cref="P:Discord.EmbedFieldBuilder.Value"/> exceeds the maximum length allowed by Discord.</para>
            </exception>
        </member>
        <member name="T:Discord.EmbedAuthorBuilder">
            <summary>
                Represents a builder class for a author field.
            </summary>
        </member>
        <member name="F:Discord.EmbedAuthorBuilder.MaxAuthorNameLength">
            <summary>
                Gets the maximum author name length allowed by Discord.
            </summary>
        </member>
        <member name="P:Discord.EmbedAuthorBuilder.Name">
            <summary>
                Gets or sets the author name.
            </summary>
            <exception cref="T:System.ArgumentException">
            Author name length is longer than <see cref="F:Discord.EmbedAuthorBuilder.MaxAuthorNameLength"/>.
            </exception>
            <returns>
                The author name.
            </returns>
        </member>
        <member name="P:Discord.EmbedAuthorBuilder.Url">
            <summary>
                Gets or sets the URL of the author field.
            </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Url is not a well-formed <see cref="T:System.Uri"/>.</exception>
            <returns>
                The URL of the author field.
            </returns>
        </member>
        <member name="P:Discord.EmbedAuthorBuilder.IconUrl">
            <summary>
                Gets or sets the icon URL of the author field.
            </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Url is not a well-formed <see cref="T:System.Uri"/>.</exception>
            <returns>
                The icon URL of the author field.
            </returns>
        </member>
        <member name="M:Discord.EmbedAuthorBuilder.WithName(System.String)">
            <summary>
                Sets the name of the author field.
            </summary>
            <param name="name">The name of the author field.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedAuthorBuilder.WithUrl(System.String)">
            <summary>
                Sets the URL of the author field.
            </summary>
            <param name="url">The URL of the author field.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedAuthorBuilder.WithIconUrl(System.String)">
            <summary>
                Sets the icon URL of the author field.
            </summary>
            <param name="iconUrl">The icon URL of the author field.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedAuthorBuilder.Build">
            <summary>
                Builds the author field to be used.
            </summary>
            <exception cref="T:System.ArgumentException">
            <para>Author name length is longer than <see cref="F:Discord.EmbedAuthorBuilder.MaxAuthorNameLength"/>.</para>
            <para><c>- or -</c></para>
            <para><see cref="P:Discord.EmbedAuthorBuilder.Url"/> is not a well-formed <see cref="T:System.Uri"/>.</para>
            <para><c>- or -</c></para>
            <para><see cref="P:Discord.EmbedAuthorBuilder.IconUrl"/> is not a well-formed <see cref="T:System.Uri"/>.</para>
            </exception>
            <returns>
                The built author field.
            </returns>
        </member>
        <member name="T:Discord.EmbedFooterBuilder">
            <summary>
            Represents a builder class for an embed footer.
            </summary>
        </member>
        <member name="F:Discord.EmbedFooterBuilder.MaxFooterTextLength">
            <summary>
                Gets the maximum footer length allowed by Discord.
            </summary>
        </member>
        <member name="P:Discord.EmbedFooterBuilder.Text">
            <summary>
                Gets or sets the footer text.
            </summary>
            <exception cref="T:System.ArgumentException">
            Author name length is longer than <see cref="F:Discord.EmbedFooterBuilder.MaxFooterTextLength"/>.
            </exception>
            <returns>
                The footer text.
            </returns>
        </member>
        <member name="P:Discord.EmbedFooterBuilder.IconUrl">
            <summary>
                Gets or sets the icon URL of the footer field.
            </summary>
            <exception cref="T:System.ArgumentException" accessor="set">Url is not a well-formed <see cref="T:System.Uri"/>.</exception>
            <returns>
                The icon URL of the footer field.
            </returns>
        </member>
        <member name="M:Discord.EmbedFooterBuilder.WithText(System.String)">
            <summary>
                Sets the name of the footer field.
            </summary>
            <param name="text">The text of the footer field.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedFooterBuilder.WithIconUrl(System.String)">
            <summary>
                Sets the icon URL of the footer field.
            </summary>
            <param name="iconUrl">The icon URL of the footer field.</param>
            <returns>
                The current builder.
            </returns>
        </member>
        <member name="M:Discord.EmbedFooterBuilder.Build">
            <summary>
                Builds the footer field to be used.
            </summary>
            <returns></returns>
            <exception cref="T:System.ArgumentException">
            <para><see cref="P:Discord.EmbedFooterBuilder.Text"/> length is longer than <see cref="F:Discord.EmbedFooterBuilder.MaxFooterTextLength"/>.</para>
            <para><c>- or -</c></para>
            <para><see cref="P:Discord.EmbedFooterBuilder.IconUrl"/> is not a well-formed <see cref="T:System.Uri"/>.</para>
            </exception>
            <returns>
                A built footer field.
            </returns>
        </member>
        <member name="T:Discord.EmbedField">
            <summary>
                A field for an <see cref="T:Discord.Embed"/>.
            </summary>
        </member>
        <member name="P:Discord.EmbedField.Name">
            <summary>
                Gets the name of the field.
            </summary>
        </member>
        <member name="P:Discord.EmbedField.Value">
            <summary>
                Gets the value of the field.
            </summary>
        </member>
        <member name="P:Discord.EmbedField.Inline">
            <summary>
                Gets a value that indicates whether the field should be in-line with each other.
            </summary>
        </member>
        <member name="M:Discord.EmbedField.ToString">
            <summary>
                Gets the name of the field.
            </summary>
            <returns>
                A string that resolves to <see cref="P:Discord.EmbedField.Name"/>.
            </returns>
        </member>
        <member name="T:Discord.EmbedFooter">
            <summary> A footer field for an <see cref="T:Discord.Embed"/>. </summary>
        </member>
        <member name="P:Discord.EmbedFooter.Text">
            <summary>
                Gets the text of the footer field.
            </summary>
            <returns>
                A string containing the text of the footer field.
            </returns>
        </member>
        <member name="P:Discord.EmbedFooter.IconUrl">
            <summary>
                Gets the URL of the footer icon.
            </summary>
            <returns>
                A string containing the URL of the footer icon.
            </returns>
        </member>
        <member name="P:Discord.EmbedFooter.ProxyUrl">
            <summary>
                Gets the proxied URL of the footer icon link.
            </summary>
            <returns>
                A string containing the proxied URL of the footer icon.
            </returns>
        </member>
        <member name="M:Discord.EmbedFooter.ToString">
            <summary>
                Gets the text of the footer field.
            </summary>
            <returns>
                A string that resolves to <see cref="P:Discord.EmbedFooter.Text"/>.
            </returns>
        </member>
        <member name="T:Discord.EmbedImage">
            <summary> An image for an <see cref="T:Discord.Embed"/>. </summary>
        </member>
        <member name="P:Discord.EmbedImage.Url">
            <summary>
                Gets the URL of the image.
            </summary>
            <returns>
                A string containing the URL of the image.
            </returns>
        </member>
        <member name="P:Discord.EmbedImage.ProxyUrl">
            <summary>
                Gets a proxied URL of this image.
            </summary>
            <returns>
                A string containing the proxied URL of this image.
            </returns>
        </member>
        <member name="P:Discord.EmbedImage.Height">
            <summary>
                Gets the height of this image.
            </summary>
            <returns>
                A <see cref="T:System.Int32"/> representing the height of this image if it can be retrieved; otherwise 
                <c>null</c>.
            </returns>
        </member>
        <member name="P:Discord.EmbedImage.Width">
            <summary>
                Gets the width of this image.
            </summary>
            <returns>
                A <see cref="T:System.Int32"/> representing the width of this image if it can be retrieved; otherwise 
                <c>null</c>.
            </returns>
        </member>
        <member name="M:Discord.EmbedImage.ToString">
            <summary>
                Gets the URL of the thumbnail.
            </summary>
            <returns>
                A string that resolves to <see cref="P:Discord.EmbedImage.Url"/> .
            </returns>
        </member>
        <member name="T:Discord.EmbedProvider">
            <summary> A provider field for an <see cref="T:Discord.Embed"/>. </summary>
        </member>
        <member name="P:Discord.EmbedProvider.Name">
            <summary>
                Gets the name of the provider.
            </summary>
            <returns>
                A string representing the name of the provider.
            </returns>
        </member>
        <member name="P:Discord.EmbedProvider.Url">
            <summary>
                Gets the URL of the provider.
            </summary>
            <returns>
                A string representing the link to the provider.
            </returns>
        </member>
        <member name="M:Discord.EmbedProvider.ToString">
            <summary>
                Gets the name of the provider.
            </summary>
            <returns>
                A string that resolves to <see cref="P:Discord.EmbedProvider.Name" />.
            </returns>
        </member>
        <member name="T:Discord.EmbedThumbnail">
            <summary> A thumbnail featured in an <see cref="T:Discord.Embed"/>. </summary>
        </member>
        <member name="P:Discord.EmbedThumbnail.Url">
            <summary>
                Gets the URL of the thumbnail.
            </summary>
            <returns>
                A string containing the URL of the thumbnail.
            </returns>
        </member>
        <member name="P:Discord.EmbedThumbnail.ProxyUrl">
            <summary>
                Gets a proxied URL of this thumbnail.
            </summary>
            <returns>
                A string containing the proxied URL of this thumbnail.
            </returns>
        </member>
        <member name="P:Discord.EmbedThumbnail.Height">
            <summary>
                Gets the height of this thumbnail.
            </summary>
            <returns>
                A <see cref="T:System.Int32"/> representing the height of this thumbnail if it can be retrieved; otherwise 
                <c>null</c>.
            </returns>
        </member>
        <member name="P:Discord.EmbedThumbnail.Width">
            <summary>
                Gets the width of this thumbnail.
            </summary>
            <returns>
                A <see cref="T:System.Int32"/> representing the width of this thumbnail if it can be retrieved; otherwise 
                <c>null</c>.
            </returns>
        </member>
        <member name="M:Discord.EmbedThumbnail.ToString">
            <summary>
                Gets the URL of the thumbnail.
            </summary>
            <returns>
                A string that resolves to <see cref="P:Discord.EmbedThumbnail.Url" />.
            </returns>
        </member>
        <member name="T:Discord.EmbedType">
            <summary>
                Specifies the type of embed.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Unknown">
            <summary>
                An unknown embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Rich">
            <summary>
                A rich embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Link">
            <summary>
                A link embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Video">
            <summary>
                A video embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Image">
            <summary>
                An image embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Gifv">
            <summary>
                A GIFV embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Article">
            <summary>
                An article embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Tweet">
            <summary>
                A tweet embed type.
            </summary>
        </member>
        <member name="F:Discord.EmbedType.Html">
            <summary>
                A HTML embed type.
            </summary>
        </member>
        <member name="T:Discord.EmbedVideo">
            <summary>
                A video featured in an <see cref="T:Discord.Embed"/>.
            </summary>
        </member>
        <member name="P:Discord.EmbedVideo.Url">
            <summary>
                Gets the URL of the video.
            </summary>
            <returns>
                A string containing the URL of the image.
            </returns>
        </member>
        <member name="P:Discord.EmbedVideo.Height">
            <summary>
                Gets the height of the video.
            </summary>
            <returns>
                A <see cref="T:System.Int32"/> representing the height of this video if it can be retrieved; otherwise 
                <c>null</c>.
            </returns>
        </member>
        <member name="P:Discord.EmbedVideo.Width">
            <summary>
                Gets the weight of the video.
            </summary>
            <returns>
                A <see cref="T:System.Int32"/> representing the width of this video if it can be retrieved; otherwise 
                <c>null</c>.
            </returns>
        </member>
        <member name="M:Discord.EmbedVideo.ToString">
            <summary>
                Gets the URL of the video.
            </summary>
            <returns>
                A string that resolves to <see cref="P:Discord.EmbedVideo.Url"/>.
            </returns>
        </member>
        <member name="T:Discord.IAttachment">
            <summary>
                Represents a message attachment found in a <see cref="T:Discord.IUserMessage"/>.
            </summary>
        </member>
        <member name="P:Discord.IAttachment.Id">
            <summary>
                Gets the ID of this attachment.
            </summary>
            <returns>
                A snowflake ID associated with this attachment.
            </returns>
        </member>
        <member name="P:Discord.IAttachment.Filename">
            <summary>
                Gets the filename of this attachment.
            </summary>
            <returns>
                A string containing the full filename of this attachment (e.g. <c>textFile.txt</c>).
            </returns>
        </member>
        <member name="P:Discord.IAttachment.Url">
            <summary>
                Gets the URL of this attachment.
            </summary>
            <returns>
                A string containing the URL of this attachment.
            </returns>
        </member>
        <member name="P:Discord.IAttachment.ProxyUrl">
            <summary>
                Gets a proxied URL of this attachment.
            </summary>
            <returns>
                A string containing the proxied URL of this attachment.
            </returns>
        </member>
        <member name="P:Discord.IAttachment.Size">
            <summary>
                Gets the file size of this attachment.
            </summary>
            <returns>
                The size of this attachment in bytes.
            </returns>
        </member>
        <member name="P:Discord.IAttachment.Height">
            <summary>
                Gets the height of this attachment.
            </summary>
            <returns>
                The height of this attachment if it is a picture; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="P:Discord.IAttachment.Width">
            <summary>
                Gets the width of this attachment.
            </summary>
            <returns>
                The width of this attachment if it is a picture; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="T:Discord.IEmbed">
            <summary>
                Represents a Discord embed object.
            </summary>
        </member>
        <member name="P:Discord.IEmbed.Url">
            <summary>
                Gets the title URL of this embed.
            </summary>
            <returns>
                A string containing the URL set in a title of the embed.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Title">
            <summary>
                Gets the title of this embed.
            </summary>
            <returns>
                The title of the embed.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Description">
            <summary>
                Gets the description of this embed.
            </summary>
            <returns>
                The description field of the embed.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Type">
            <summary>
                Gets the type of this embed.
            </summary>
            <returns>
                The type of the embed.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Timestamp">
            <summary>
                Gets the timestamp of this embed.
            </summary>
            <returns>
                A <see cref="T:System.DateTimeOffset"/> based on the timestamp present at the bottom left of the embed, or 
                <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Color">
            <summary>
                Gets the color of this embed.
            </summary>
            <returns>
                The color of the embed present on the side of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Image">
            <summary>
                Gets the image of this embed.
            </summary>
            <returns>
                The image of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Video">
            <summary>
                Gets the video of this embed.
            </summary>
            <returns>
                The video of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Author">
            <summary>
                Gets the author field of this embed.
            </summary>
            <returns>
                The author field of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Footer">
            <summary>
                Gets the footer field of this embed.
            </summary>
            <returns>
                The author field of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Provider">
            <summary>
                Gets the provider of this embed.
            </summary>
            <returns>
                The source of the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Thumbnail">
            <summary>
                Gets the thumbnail featured in this embed.
            </summary>
            <returns>
                The thumbnail featured in the embed, or <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IEmbed.Fields">
            <summary>
                Gets the fields of the embed.
            </summary>
            <returns>
                An array of the fields of the embed.
            </returns>
        </member>
        <member name="T:Discord.IMessage">
            <summary>
                Represents a message object.
            </summary>
        </member>
        <member name="P:Discord.IMessage.Type">
            <summary>
                Gets the type of this system message.
            </summary>
        </member>
        <member name="P:Discord.IMessage.Source">
            <summary>
                Gets the source type of this message.
            </summary>
        </member>
        <member name="P:Discord.IMessage.IsTTS">
            <summary>
                Gets the value that indicates whether this message was meant to be read-aloud by Discord.
            </summary>
            <returns>
                <c>true</c> if this message was sent as a text-to-speech message; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IMessage.IsPinned">
            <summary>
                Gets the value that indicates whether this message is pinned.
            </summary>
            <returns>
                <c>true</c> if this message was added to its channel's pinned messages; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IMessage.Content">
            <summary>
                Gets the content for this message.
            </summary>
            <returns>
                A string that contains the body of the message; note that this field may be empty if there is an embed.
            </returns>
        </member>
        <member name="P:Discord.IMessage.Timestamp">
            <summary>
                Gets the time this message was sent.
            </summary>
            <returns>
                Time of when the message was sent.
            </returns>
        </member>
        <member name="P:Discord.IMessage.EditedTimestamp">
            <summary>
                Gets the time of this message's last edit.
            </summary>
            <returns>
                Time of when the message was last edited; <c>null</c> if the message is never edited.
            </returns>
        </member>
        <member name="P:Discord.IMessage.Channel">
            <summary>
                Gets the source channel of the message.
            </summary>
        </member>
        <member name="P:Discord.IMessage.Author">
            <summary>
                Gets the author of this message.
            </summary>
        </member>
        <member name="P:Discord.IMessage.Attachments">
            <summary>
                Gets all attachments included in this message.
            </summary>
            <remarks>
                This property gets a read-only collection of attachments associated with this message. Depending on the
                user's end-client, a sent message may contain one or more attachments. For example, mobile users may
                attach more than one file in their message, while the desktop client only allows for one.
            </remarks>
            <returns>
                A read-only collection of attachments.
            </returns>
        </member>
        <member name="P:Discord.IMessage.Embeds">
            <summary>
                Gets all embeds included in this message.
            </summary>
            <remarks>
            </remarks>
                This property gets a read-only collection of embeds associated with this message. Depending on the
                message, a sent message may contain one or more embeds. This is usually true when multiple link previews
                are generated; however, only one <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.Embed"/> can be featured.
            <returns>
                A read-only collection of embed objects.
            </returns>
        </member>
        <member name="P:Discord.IMessage.Tags">
            <summary>
                Gets all tags included in this message's content.
            </summary>
        </member>
        <member name="P:Discord.IMessage.MentionedChannelIds">
            <summary>
                Gets the IDs of channels mentioned in this message.
            </summary>
            <returns>
                A read-only collection of channel IDs.
            </returns>
        </member>
        <member name="P:Discord.IMessage.MentionedRoleIds">
            <summary>
                Gets the IDs of roles mentioned in this message.
            </summary>
            <returns>
                A read-only collection of role IDs.
            </returns>
        </member>
        <member name="P:Discord.IMessage.MentionedUserIds">
            <summary>
                Gets the IDs of users mentioned in this message.
            </summary>
            <returns>
                A read-only collection of user IDs.
            </returns>
        </member>
        <member name="P:Discord.IMessage.Activity">
            <summary>
                Gets the activity associated with a message.
            </summary>
            <remarks>
                Sent with Rich Presence-related chat embeds. This often refers to activity that requires end-user's
                interaction, such as a Spotify Invite activity.
            </remarks>
            <returns>
                A message's activity, if any is associated.
            </returns>
        </member>
        <member name="P:Discord.IMessage.Application">
            <summary>
                Gets the application associated with a message.
            </summary>
            <remarks>
                Sent with Rich-Presence-related chat embeds.
            </remarks>
            <returns>
                A message's application, if any is associated.
            </returns>
        </member>
        <member name="T:Discord.IReaction">
            <summary>
                Represents a generic reaction object.
            </summary>
        </member>
        <member name="P:Discord.IReaction.Emote">
            <summary>
                The <see cref="T:Discord.IEmote" /> used in the reaction.
            </summary>
        </member>
        <member name="T:Discord.ISystemMessage">
            <summary>
                Represents a generic message sent by the system.
            </summary>
        </member>
        <member name="T:Discord.IUserMessage">
            <summary>
                Represents a generic message sent by a user.
            </summary>
        </member>
        <member name="M:Discord.IUserMessage.ModifyAsync(System.Action{Discord.MessageProperties},Discord.RequestOptions)">
            <summary>
                Modifies this message.
            </summary>
            <remarks>
                This method modifies this message with the specified properties. To see an example of this
                method and what properties are available, please refer to <see cref="T:Discord.MessageProperties"/>.
            </remarks>
            <example>
                The following example replaces the content of the message with <c>Hello World!</c>.
                <code language="cs">
                await msg.ModifyAsync(x =&gt; x.Content = "Hello World!");
                </code>
            </example>
            <param name="func">A delegate containing the properties to modify the message with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
        </member>
        <member name="M:Discord.IUserMessage.PinAsync(Discord.RequestOptions)">
            <summary>
                Adds this message to its channel's pinned messages.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation for pinning this message.
            </returns>
        </member>
        <member name="M:Discord.IUserMessage.UnpinAsync(Discord.RequestOptions)">
            <summary>
                Removes this message from its channel's pinned messages.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation for unpinning this message.
            </returns>
        </member>
        <member name="P:Discord.IUserMessage.Reactions">
            <summary>
                Gets all reactions included in this message.
            </summary>
        </member>
        <member name="M:Discord.IUserMessage.AddReactionAsync(Discord.IEmote,Discord.RequestOptions)">
            <summary>
                Adds a reaction to this message.
            </summary>
            <example>
                The following example adds the reaction, <c>💕</c>, to the message.
                <code language="cs">
                await msg.AddReactionAsync(new Emoji("\U0001f495"));
                </code>
            </example>
            <param name="emote">The emoji used to react to this message.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation for adding a reaction to this message.
            </returns>
            <seealso cref="T:Discord.IEmote"/>
        </member>
        <member name="M:Discord.IUserMessage.RemoveReactionAsync(Discord.IEmote,Discord.IUser,Discord.RequestOptions)">
            <summary>
                Removes a reaction from message.
            </summary>
            <example>
                The following example removes the reaction, <c>💕</c>, added by the message author from the message.
                <code language="cs">
                await msg.RemoveReactionAsync(new Emoji("\U0001f495"), msg.Author);
                </code>
            </example>
            <param name="emote">The emoji used to react to this message.</param>
            <param name="user">The user that added the emoji.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation for removing a reaction to this message.
            </returns>
            <seealso cref="T:Discord.IEmote"/>
        </member>
        <member name="M:Discord.IUserMessage.RemoveAllReactionsAsync(Discord.RequestOptions)">
            <summary>
                Removes all reactions from this message.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous removal operation.
            </returns>
        </member>
        <member name="M:Discord.IUserMessage.GetReactionUsersAsync(Discord.IEmote,System.Int32,Discord.RequestOptions)">
            <summary>
                Gets all users that reacted to a message with a given emote.
            </summary>
            <example>
                The following example gets the users that have reacted with the emoji <c>💕</c> to the message.
                <code language="cs">
                var emoji = new Emoji("\U0001f495");
                var reactedUsers = await message.GetReactionUsersAsync(emoji, 100).FlattenAsync();
                </code>
            </example>
            <param name="emoji">The emoji that represents the reaction that you wish to get.</param>
            <param name="limit">The number of users to request.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A paged collection containing a read-only collection of users that has reacted to this message.
                Flattening the paginated response into a collection of users with 
                <see cref="M:Discord.AsyncEnumerableExtensions.FlattenAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})"/> is required if you wish to access the users.
            </returns>
        </member>
        <member name="M:Discord.IUserMessage.Resolve(Discord.TagHandling,Discord.TagHandling,Discord.TagHandling,Discord.TagHandling,Discord.TagHandling)">
            <summary>
                Transforms this message's text into a human-readable form by resolving its tags.
            </summary>
            <param name="userHandling">Determines how the user tag should be handled.</param>
            <param name="channelHandling">Determines how the channel tag should be handled.</param>
            <param name="roleHandling">Determines how the role tag should be handled.</param>
            <param name="everyoneHandling">Determines how the @everyone tag should be handled.</param>
            <param name="emojiHandling">Determines how the emoji tag should be handled.</param>
        </member>
        <member name="T:Discord.MessageActivity">
            <summary>
                An activity object found in a sent message.
            </summary>
            <remarks>
                <para>
                    This class refers to an activity object, visually similar to an embed within a message. However, a message
                    activity is interactive as opposed to a standard static embed.
                </para>
                <para>For example, a Spotify party invitation counts as a message activity.</para>
            </remarks>
        </member>
        <member name="P:Discord.MessageActivity.Type">
            <summary>
                Gets the type of activity of this message.
            </summary>
        </member>
        <member name="P:Discord.MessageActivity.PartyId">
            <summary>
                Gets the party ID of this activity, if any.
            </summary>
        </member>
        <member name="P:Discord.MessageApplication.Id">
            <summary>
                Gets the snowflake ID of the application.
            </summary>
        </member>
        <member name="P:Discord.MessageApplication.CoverImage">
            <summary>
                Gets the ID of the embed's image asset.
            </summary>
        </member>
        <member name="P:Discord.MessageApplication.Description">
            <summary>
                Gets the application's description.
            </summary>
        </member>
        <member name="P:Discord.MessageApplication.Icon">
            <summary>
                Gets the ID of the application's icon.
            </summary>
        </member>
        <member name="P:Discord.MessageApplication.IconUrl">
            <summary>
                Gets the Url of the application's icon.
            </summary>
        </member>
        <member name="P:Discord.MessageApplication.Name">
            <summary>
                Gets the name of the application.
            </summary>
        </member>
        <member name="T:Discord.MessageProperties">
            <summary>
                Properties that are used to modify an <see cref="T:Discord.IUserMessage" /> with the specified changes.
            </summary>
            <remarks>
                The content of a message can be cleared with <see cref="F:System.String.Empty"/> if and only if an 
                <see cref="T:Discord.Embed"/> is present.
            </remarks>
            <seealso cref="M:Discord.IUserMessage.ModifyAsync(System.Action{Discord.MessageProperties},Discord.RequestOptions)"/>
        </member>
        <member name="P:Discord.MessageProperties.Content">
            <summary>
                Gets or sets the content of the message.
            </summary>
            <remarks>
                This must be less than the constant defined by <see cref="F:Discord.DiscordConfig.MaxMessageSize"/>.
            </remarks>
        </member>
        <member name="P:Discord.MessageProperties.Embed">
            <summary>
                Gets or sets the embed the message should display.
            </summary>
        </member>
        <member name="T:Discord.MessageSource">
            <summary>
                Specifies the source of the Discord message.
            </summary>
        </member>
        <member name="F:Discord.MessageSource.System">
            <summary>
                The message is sent by the system.
            </summary>
        </member>
        <member name="F:Discord.MessageSource.User">
            <summary>
                The message is sent by a user.
            </summary>
        </member>
        <member name="F:Discord.MessageSource.Bot">
            <summary>
                The message is sent by a bot.
            </summary>
        </member>
        <member name="F:Discord.MessageSource.Webhook">
            <summary>
                The message is sent by a webhook.
            </summary>
        </member>
        <member name="T:Discord.MessageType">
            <summary>
                Specifies the type of message.
            </summary>
        </member>
        <member name="F:Discord.MessageType.Default">
            <summary>
                The default message type.
            </summary>
        </member>
        <member name="F:Discord.MessageType.RecipientAdd">
            <summary>
                The message when a recipient is added.
            </summary>
        </member>
        <member name="F:Discord.MessageType.RecipientRemove">
            <summary>
                The message when a recipient is removed.
            </summary>
        </member>
        <member name="F:Discord.MessageType.Call">
            <summary>
                The message when a user is called.
            </summary>
        </member>
        <member name="F:Discord.MessageType.ChannelNameChange">
            <summary>
                The message when a channel name is changed.
            </summary>
        </member>
        <member name="F:Discord.MessageType.ChannelIconChange">
            <summary>
                The message when a channel icon is changed.
            </summary>
        </member>
        <member name="F:Discord.MessageType.ChannelPinnedMessage">
            <summary>
                The message when another message is pinned.
            </summary>
        </member>
        <member name="F:Discord.MessageType.GuildMemberJoin">
            <summary>
                The message when a new member joined.
            </summary>
        </member>
        <member name="T:Discord.ReactionMetadata">
            <summary>
                A metadata containing reaction information.
            </summary>
        </member>
        <member name="P:Discord.ReactionMetadata.ReactionCount">
            <summary>
                Gets the number of reactions.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the number of this reactions that has been added to this message.
            </returns>
        </member>
        <member name="P:Discord.ReactionMetadata.IsMe">
            <summary>
                Gets a value that indicates whether the current user has reacted to this.
            </summary>
            <returns>
                <c>true</c> if the user has reacted to the message; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="T:Discord.TagHandling">
            <summary>
                Specifies the handling type the tag should use.
            </summary>
            <seealso cref="T:Discord.MentionUtils"/>
            <seealso cref="M:Discord.IUserMessage.Resolve(Discord.TagHandling,Discord.TagHandling,Discord.TagHandling,Discord.TagHandling,Discord.TagHandling)"/>
        </member>
        <member name="F:Discord.TagHandling.Ignore">
            <summary> 
                Tag handling is ignored (e.g. &lt;@53905483156684800&gt; -&gt; &lt;@53905483156684800&gt;).
            </summary>
        </member>
        <member name="F:Discord.TagHandling.Remove">
            <summary> 
                Removes the tag entirely. 
            </summary>
        </member>
        <member name="F:Discord.TagHandling.Name">
            <summary> 
                Resolves to username (e.g. &lt;@53905483156684800&gt; -&gt; @Voltana). 
            </summary>
        </member>
        <member name="F:Discord.TagHandling.NameNoPrefix">
            <summary> 
                Resolves to username without mention prefix (e.g. &lt;@53905483156684800&gt; -&gt; Voltana). 
            </summary>
        </member>
        <member name="F:Discord.TagHandling.FullName">
            <summary> 
                Resolves to username with discriminator value. (e.g. &lt;@53905483156684800&gt; -&gt; @Voltana#8252). 
            </summary>
        </member>
        <member name="F:Discord.TagHandling.FullNameNoPrefix">
            <summary> 
                Resolves to username with discriminator value without mention prefix. (e.g. &lt;@53905483156684800&gt; -&gt; Voltana#8252). 
            </summary>
        </member>
        <member name="F:Discord.TagHandling.Sanitize">
            <summary> 
                Sanitizes the tag (e.g. &lt;@53905483156684800&gt; -&gt; &lt;@53905483156684800&gt; (w/ nbsp)).
            </summary>
        </member>
        <member name="T:Discord.TagType">
            <summary> Specifies the type of Discord tag. </summary>
        </member>
        <member name="F:Discord.TagType.UserMention">
            <summary> The object is an user mention. </summary>
        </member>
        <member name="F:Discord.TagType.ChannelMention">
            <summary> The object is a channel mention. </summary>
        </member>
        <member name="F:Discord.TagType.RoleMention">
            <summary> The object is a role mention. </summary>
        </member>
        <member name="F:Discord.TagType.EveryoneMention">
            <summary> The object is an everyone mention. </summary>
        </member>
        <member name="F:Discord.TagType.HereMention">
            <summary> The object is a here mention. </summary>
        </member>
        <member name="F:Discord.TagType.Emoji">
            <summary> The object is an emoji. </summary>
        </member>
        <member name="T:Discord.ChannelPermission">
            <summary> Defines the available permissions for a channel. </summary>
        </member>
        <member name="F:Discord.ChannelPermission.CreateInstantInvite">
            <summary>
                Allows creation of instant invites.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.ManageChannels">
            <summary>
                Allows management and editing of channels.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.AddReactions">
            <summary>
                Allows for the addition of reactions to messages.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.ReadMessages">
            <summary>
                Allows for reading of messages. This flag is obsolete, use <see cref = "F:Discord.ChannelPermission.ViewChannel" /> instead.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.ViewChannel">
            <summary>
                Allows guild members to view a channel, which includes reading messages in text channels.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.SendMessages">
            <summary>
                Allows for sending messages in a channel.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.SendTTSMessages">
            <summary>
                Allows for sending of text-to-speech messages.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.ManageMessages">
            <summary>
                Allows for deletion of other users messages.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.EmbedLinks">
            <summary>
                Allows links sent by users with this permission will be auto-embedded.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.AttachFiles">
            <summary>
                Allows for uploading images and files.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.ReadMessageHistory">
            <summary>
                Allows for reading of message history.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.MentionEveryone">
            <summary>
                Allows for using the @everyone tag to notify all users in a channel, and the @here tag to notify all
                online users in a channel.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.UseExternalEmojis">
            <summary>
                Allows the usage of custom emojis from other servers.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.Connect">
            <summary>
                Allows for joining of a voice channel.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.Speak">
            <summary>
                Allows for speaking in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.MuteMembers">
            <summary>
                Allows for muting members in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.DeafenMembers">
            <summary>
                Allows for deafening of members in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.MoveMembers">
            <summary>
                Allows for moving of members between voice channels.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.UseVAD">
            <summary>
                Allows for using voice-activity-detection in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.ManageRoles">
            <summary>
                Allows management and editing of roles.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermission.ManageWebhooks">
            <summary>
                Allows management and editing of webhooks.
            </summary>
        </member>
        <member name="F:Discord.ChannelPermissions.None">
            <summary> Gets a blank <see cref="T:Discord.ChannelPermissions"/> that grants no permissions. </summary>
            <returns> A <see cref="T:Discord.ChannelPermissions"/> structure that does not contain any set permissions. </returns>
        </member>
        <member name="F:Discord.ChannelPermissions.Text">
            <summary> Gets a <see cref="T:Discord.ChannelPermissions"/> that grants all permissions for text channels. </summary>
        </member>
        <member name="F:Discord.ChannelPermissions.Voice">
            <summary> Gets a <see cref="T:Discord.ChannelPermissions"/> that grants all permissions for voice channels. </summary>
        </member>
        <member name="F:Discord.ChannelPermissions.Category">
            <summary> Gets a <see cref="T:Discord.ChannelPermissions"/> that grants all permissions for category channels. </summary>
        </member>
        <member name="F:Discord.ChannelPermissions.DM">
            <summary> Gets a <see cref="T:Discord.ChannelPermissions"/> that grants all permissions for direct message channels. </summary>
        </member>
        <member name="F:Discord.ChannelPermissions.Group">
            <summary> Gets a <see cref="T:Discord.ChannelPermissions"/> that grants all permissions for group channels. </summary>
        </member>
        <member name="M:Discord.ChannelPermissions.All(Discord.IChannel)">
            <summary> Gets a <see cref="T:Discord.ChannelPermissions"/> that grants all permissions for a given channel type. </summary>
            <exception cref="T:System.ArgumentException">Unknown channel type.</exception>
        </member>
        <member name="P:Discord.ChannelPermissions.RawValue">
            <summary> Gets a packed value representing all the permissions in this <see cref="T:Discord.ChannelPermissions"/>. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.CreateInstantInvite">
            <summary> If <c>true</c>, a user may create invites. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.ManageChannel">
            <summary> If <c>true</c>, a user may create, delete and modify this channel. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.AddReactions">
            <summary> If <c>true</c>, a user may add reactions. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.ReadMessages">
            <summary> If <c>true</c>, a user may join channels. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.ViewChannel">
            <summary> If <c>true</c>, a user may view channels. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.SendMessages">
            <summary> If <c>true</c>, a user may send messages. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.SendTTSMessages">
            <summary> If <c>true</c>, a user may send text-to-speech messages. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.ManageMessages">
            <summary> If <c>true</c>, a user may delete messages. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.EmbedLinks">
            <summary> If <c>true</c>, Discord will auto-embed links sent by this user. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.AttachFiles">
            <summary> If <c>true</c>, a user may send files. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.ReadMessageHistory">
            <summary> If <c>true</c>, a user may read previous messages. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.MentionEveryone">
            <summary> If <c>true</c>, a user may mention @everyone. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.UseExternalEmojis">
            <summary> If <c>true</c>, a user may use custom emoji from other guilds. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.Connect">
            <summary> If <c>true</c>, a user may connect to a voice channel. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.Speak">
            <summary> If <c>true</c>, a user may speak in a voice channel. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.MuteMembers">
            <summary> If <c>true</c>, a user may mute users. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.DeafenMembers">
            <summary> If <c>true</c>, a user may deafen users. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.MoveMembers">
            <summary> If <c>true</c>, a user may move other users between voice channels. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.UseVAD">
            <summary> If <c>true</c>, a user may use voice-activity-detection rather than push-to-talk. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.PrioritySpeaker">
            <summary> If <c>true</c>, a user may use priority speaker in a voice channel. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.ManageRoles">
            <summary> If <c>true</c>, a user may adjust role permissions. This also implictly grants all other permissions. </summary>
        </member>
        <member name="P:Discord.ChannelPermissions.ManageWebhooks">
            <summary> If <c>true</c>, a user may edit the webhooks for this channel. </summary>
        </member>
        <member name="M:Discord.ChannelPermissions.#ctor(System.UInt64)">
            <summary> Creates a new <see cref="T:Discord.ChannelPermissions"/> with the provided packed value. </summary>
        </member>
        <member name="M:Discord.ChannelPermissions.#ctor(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary> Creates a new <see cref="T:Discord.ChannelPermissions"/> with the provided permissions. </summary>
        </member>
        <member name="M:Discord.ChannelPermissions.Modify(System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
            <summary> Creates a new <see cref="T:Discord.ChannelPermissions"/> from this one, changing the provided non-null permissions. </summary>
        </member>
        <member name="T:Discord.GuildPermission">
            <summary> Defines the available permissions for a channel. </summary>
        </member>
        <member name="F:Discord.GuildPermission.CreateInstantInvite">
            <summary>
                Allows creation of instant invites.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.KickMembers">
            <summary>
                Allows kicking members.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.BanMembers">
            <summary>
                Allows banning members.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.Administrator">
            <summary>
                Allows all permissions and bypasses channel permission overwrites.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.ManageChannels">
            <summary>
                Allows management and editing of channels.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.ManageGuild">
            <summary>
                Allows management and editing of the guild.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.AddReactions">
            <summary>
                Allows for the addition of reactions to messages.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.ViewAuditLog">
            <summary>
            	Allows for viewing of audit logs.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.SendTTSMessages">
            <summary>
                Allows for sending of text-to-speech messages.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.ManageMessages">
            <summary>
                Allows for deletion of other users messages.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.EmbedLinks">
            <summary>
                Allows links sent by users with this permission will be auto-embedded.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.AttachFiles">
            <summary>
                Allows for uploading images and files.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.ReadMessageHistory">
            <summary>
                Allows for reading of message history.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.MentionEveryone">
            <summary>
                Allows for using the @everyone tag to notify all users in a channel, and the @here tag to notify all
                online users in a channel.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.UseExternalEmojis">
            <summary>
                Allows the usage of custom emojis from other servers.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.Connect">
            <summary>
                Allows for joining of a voice channel.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.Speak">
            <summary>
                Allows for speaking in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.MuteMembers">
            <summary>
                Allows for muting members in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.DeafenMembers">
            <summary>
                Allows for deafening of members in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.MoveMembers">
            <summary>
                Allows for moving of members between voice channels.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.UseVAD">
            <summary>
                Allows for using voice-activity-detection in a voice channel.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.ChangeNickname">
            <summary>
                Allows for modification of own nickname.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.ManageNicknames">
            <summary>
                Allows for modification of other users nicknames.
            </summary>
        </member>
        <member name="F:Discord.GuildPermission.ManageRoles">
            <summary>
                Allows management and editing of roles.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.ManageWebhooks">
            <summary>
                Allows management and editing of webhooks.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermission.ManageEmojis">
            <summary>
                Allows management and editing of emojis.
            </summary>
            <remarks>
                This permission requires the owner account to use two-factor
                authentication when used on a guild that has server-wide 2FA enabled.
            </remarks>
        </member>
        <member name="F:Discord.GuildPermissions.None">
            <summary> Gets a blank <see cref="T:Discord.GuildPermissions"/> that grants no permissions. </summary>
        </member>
        <member name="F:Discord.GuildPermissions.Webhook">
            <summary> Gets a <see cref="T:Discord.GuildPermissions"/> that grants all guild permissions for webhook users. </summary>
        </member>
        <member name="F:Discord.GuildPermissions.All">
            <summary> Gets a <see cref="T:Discord.GuildPermissions"/> that grants all guild permissions. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.RawValue">
            <summary> Gets a packed value representing all the permissions in this <see cref="T:Discord.GuildPermissions"/>. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.CreateInstantInvite">
            <summary> If <c>true</c>, a user may create invites. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.BanMembers">
            <summary> If <c>true</c>, a user may ban users from the guild. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.KickMembers">
            <summary> If <c>true</c>, a user may kick users from the guild. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.Administrator">
            <summary> If <c>true</c>, a user is granted all permissions, and cannot have them revoked via channel permissions. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ManageChannels">
            <summary> If <c>true</c>, a user may create, delete and modify channels. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ManageGuild">
            <summary> If <c>true</c>, a user may adjust guild properties. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.AddReactions">
            <summary> If <c>true</c>, a user may add reactions. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ViewAuditLog">
            <summary> If <c>true</c>, a user may view the audit log. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ReadMessages">
            <summary> If True, a user may join channels. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ViewChannel">
            <summary> If True, a user may view channels. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.SendMessages">
            <summary> If True, a user may send messages. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.SendTTSMessages">
            <summary> If <c>true</c>, a user may send text-to-speech messages. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ManageMessages">
            <summary> If <c>true</c>, a user may delete messages. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.EmbedLinks">
            <summary> If <c>true</c>, Discord will auto-embed links sent by this user. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.AttachFiles">
            <summary> If <c>true</c>, a user may send files. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ReadMessageHistory">
            <summary> If <c>true</c>, a user may read previous messages. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.MentionEveryone">
            <summary> If <c>true</c>, a user may mention @everyone. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.UseExternalEmojis">
            <summary> If <c>true</c>, a user may use custom emoji from other guilds. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.Connect">
            <summary> If <c>true</c>, a user may connect to a voice channel. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.Speak">
            <summary> If <c>true</c>, a user may speak in a voice channel. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.MuteMembers">
            <summary> If <c>true</c>, a user may mute users. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.DeafenMembers">
            <summary> If <c>true</c>, a user may deafen users. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.MoveMembers">
            <summary> If <c>true</c>, a user may move other users between voice channels. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.UseVAD">
            <summary> If <c>true</c>, a user may use voice-activity-detection rather than push-to-talk. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.PrioritySpeaker">
            <summary> If True, a user may use priority speaker in a voice channel. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ChangeNickname">
            <summary> If <c>true</c>, a user may change their own nickname. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ManageNicknames">
            <summary> If <c>true</c>, a user may change the nickname of other users. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ManageRoles">
            <summary> If <c>true</c>, a user may adjust roles. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ManageWebhooks">
            <summary> If <c>true</c>, a user may edit the webhooks for this guild. </summary>
        </member>
        <member name="P:Discord.GuildPermissions.ManageEmojis">
            <summary> If <c>true</c>, a user may edit the emojis for this guild. </summary>
        </member>
        <member name="M:Discord.GuildPermissions.#ctor(System.UInt64)">
            <summary> Creates a new <see cref="T:Discord.GuildPermissions"/> with the provided packed value. </summary>
        </member>
        <member name="M:Discord.GuildPermissions.#ctor(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary> Creates a new <see cref="T:Discord.GuildPermissions"/> structure with the provided permissions. </summary>
        </member>
        <member name="M:Discord.GuildPermissions.Modify(System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
            <summary> Creates a new <see cref="T:Discord.GuildPermissions"/> from this one, changing the provided non-null permissions. </summary>
        </member>
        <member name="M:Discord.GuildPermissions.Has(Discord.GuildPermission)">
            <summary>
                Returns a value that indicates if a specific <see cref="T:Discord.GuildPermission"/> is enabled
                in these permissions.
            </summary>
            <param name="permission">The permission value to check for.</param>
            <returns><c>true</c> if the permission is enabled, <c>false</c> otherwise.</returns>
        </member>
        <member name="M:Discord.GuildPermissions.ToList">
            <summary>
                Returns a <see cref="T:System.Collections.Generic.List`1"/> containing all of the <see cref="T:Discord.GuildPermission"/>
                flags that are enabled.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.List`1"/> containing <see cref="T:Discord.GuildPermission"/> flags. Empty if none are enabled.</returns>
        </member>
        <member name="T:Discord.Overwrite">
            <summary>
                Represent a permission object.
            </summary>
        </member>
        <member name="P:Discord.Overwrite.TargetId">
            <summary>
                Gets the unique identifier for the object this overwrite is targeting.
            </summary>
        </member>
        <member name="P:Discord.Overwrite.TargetType">
            <summary>
                Gets the type of object this overwrite is targeting.
            </summary>
        </member>
        <member name="P:Discord.Overwrite.Permissions">
            <summary>
                Gets the permissions associated with this overwrite entry.
            </summary>
        </member>
        <member name="M:Discord.Overwrite.#ctor(System.UInt64,Discord.PermissionTarget,Discord.OverwritePermissions)">
            <summary>
                Initializes a new <see cref="T:Discord.Overwrite"/> with provided target information and modified permissions.
            </summary>
        </member>
        <member name="T:Discord.OverwritePermissions">
            <summary>
                Represents a container for a series of overwrite permissions.
            </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.InheritAll">
            <summary>
                Gets a blank <see cref="T:Discord.OverwritePermissions" /> that inherits all permissions.
            </summary>
        </member>
        <member name="M:Discord.OverwritePermissions.AllowAll(Discord.IChannel)">
            <summary>
                Gets a <see cref="T:Discord.OverwritePermissions" /> that grants all permissions for the given channel.
            </summary>
            <exception cref="T:System.ArgumentException">Unknown channel type.</exception>
        </member>
        <member name="M:Discord.OverwritePermissions.DenyAll(Discord.IChannel)">
            <summary>
                Gets a <see cref="T:Discord.OverwritePermissions" /> that denies all permissions for the given channel.
            </summary>
            <exception cref="T:System.ArgumentException">Unknown channel type.</exception>
        </member>
        <member name="P:Discord.OverwritePermissions.AllowValue">
            <summary>
                Gets a packed value representing all the allowed permissions in this <see cref="T:Discord.OverwritePermissions"/>.
            </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.DenyValue">
            <summary>
                Gets a packed value representing all the denied permissions in this <see cref="T:Discord.OverwritePermissions"/>.
            </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.CreateInstantInvite">
            <summary> If Allowed, a user may create invites. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.ManageChannel">
            <summary> If Allowed, a user may create, delete and modify this channel. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.AddReactions">
            <summary> If Allowed, a user may add reactions. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.ReadMessages">
            <summary> If Allowed, a user may join channels. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.ViewChannel">
            <summary> If Allowed, a user may join channels. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.SendMessages">
            <summary> If Allowed, a user may send messages. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.SendTTSMessages">
            <summary> If Allowed, a user may send text-to-speech messages. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.ManageMessages">
            <summary> If Allowed, a user may delete messages. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.EmbedLinks">
            <summary> If Allowed, Discord will auto-embed links sent by this user. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.AttachFiles">
            <summary> If Allowed, a user may send files. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.ReadMessageHistory">
            <summary> If Allowed, a user may read previous messages. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.MentionEveryone">
            <summary> If Allowed, a user may mention @everyone. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.UseExternalEmojis">
            <summary> If Allowed, a user may use custom emoji from other guilds. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.Connect">
            <summary> If Allowed, a user may connect to a voice channel. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.Speak">
            <summary> If Allowed, a user may speak in a voice channel. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.MuteMembers">
            <summary> If Allowed, a user may mute users. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.DeafenMembers">
            <summary> If Allowed, a user may deafen users. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.MoveMembers">
            <summary> If Allowed, a user may move other users between voice channels. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.UseVAD">
            <summary> If Allowed, a user may use voice-activity-detection rather than push-to-talk. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.ManageRoles">
            <summary> If Allowed, a user may adjust role permissions. This also implicitly grants all other permissions. </summary>
        </member>
        <member name="P:Discord.OverwritePermissions.ManageWebhooks">
            <summary> If True, a user may edit the webhooks for this channel. </summary>
        </member>
        <member name="M:Discord.OverwritePermissions.#ctor(System.UInt64,System.UInt64)">
            <summary> Creates a new OverwritePermissions with the provided allow and deny packed values. </summary>
        </member>
        <member name="M:Discord.OverwritePermissions.#ctor(Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue,Discord.PermValue)">
            <summary>
                Initializes a new <see cref="T:Discord.ChannelPermissions"/> struct with the provided permissions.
            </summary>
        </member>
        <member name="M:Discord.OverwritePermissions.Modify(System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue},System.Nullable{Discord.PermValue})">
            <summary>
                Initializes a new <see cref="T:Discord.OverwritePermissions" /> from the current one, changing the provided
                non-null permissions.
            </summary>
        </member>
        <member name="M:Discord.OverwritePermissions.ToAllowList">
            <summary>
                Creates a <see cref="T:System.Collections.Generic.List`1"/> of all the <see cref="T:Discord.ChannelPermission"/> values that are allowed.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.List`1"/> of all allowed <see cref="T:Discord.ChannelPermission"/> flags. If none, the list will be empty.</returns>
        </member>
        <member name="M:Discord.OverwritePermissions.ToDenyList">
            <summary>
                Creates a <see cref="T:System.Collections.Generic.List`1"/> of all the <see cref="T:Discord.ChannelPermission"/> values that are denied.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.List`1"/> of all denied <see cref="T:Discord.ChannelPermission"/> flags. If none, the list will be empty.</returns>
        </member>
        <member name="T:Discord.PermValue">
            <summary> Specifies the permission value. </summary>
        </member>
        <member name="F:Discord.PermValue.Allow">
            <summary> Allows this permission. </summary>
        </member>
        <member name="F:Discord.PermValue.Deny">
            <summary> Denies this permission. </summary>
        </member>
        <member name="F:Discord.PermValue.Inherit">
            <summary> Inherits the permission settings. </summary>
        </member>
        <member name="T:Discord.Color">
            <summary>
                Represents a color used in Discord.
            </summary>
        </member>
        <member name="F:Discord.Color.Default">
            <summary> Gets the default user color value. </summary>
        </member>
        <member name="F:Discord.Color.Teal">
            <summary> Gets the teal color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/1ABC9C">1ABC9C</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkTeal">
            <summary> Gets the dark teal color value. </summary>
        </member>
        <member name="F:Discord.Color.Green">
            <summary> Gets the green color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/11806A">11806A</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkGreen">
            <summary> Gets the dark green color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/2ECC71">2ECC71</see>.</returns>
        </member>
        <member name="F:Discord.Color.Blue">
            <summary> Gets the blue color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/1F8B4C">1F8B4C</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkBlue">
            <summary> Gets the dark blue color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/3498DB">3498DB</see>.</returns>
        </member>
        <member name="F:Discord.Color.Purple">
            <summary> Gets the purple color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/206694">206694</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkPurple">
            <summary> Gets the dark purple color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/9B59B6">9B59B6</see>.</returns>
        </member>
        <member name="F:Discord.Color.Magenta">
            <summary> Gets the magenta color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/71368A">71368A</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkMagenta">
            <summary> Gets the dark magenta color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/E91E63">E91E63</see>.</returns>
        </member>
        <member name="F:Discord.Color.Gold">
            <summary> Gets the gold color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/AD1457">AD1457</see>.</returns>
        </member>
        <member name="F:Discord.Color.LightOrange">
            <summary> Gets the light orange color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/F1C40F">F1C40F</see>.</returns>
        </member>
        <member name="F:Discord.Color.Orange">
            <summary> Gets the orange color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/C27C0E">C27C0E</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkOrange">
            <summary> Gets the dark orange color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/E67E22">E67E22</see>.</returns>
        </member>
        <member name="F:Discord.Color.Red">
            <summary> Gets the red color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/A84300">A84300</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkRed">
            <summary> Gets the dark red color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/E74C3C">E74C3C</see>.</returns>
        </member>
        <member name="F:Discord.Color.LightGrey">
            <summary> Gets the light grey color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/992D22">992D22</see>.</returns>
        </member>
        <member name="F:Discord.Color.LighterGrey">
            <summary> Gets the lighter grey color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/979C9F">979C9F</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkGrey">
            <summary> Gets the dark grey color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/95A5A6">95A5A6</see>.</returns>
        </member>
        <member name="F:Discord.Color.DarkerGrey">
            <summary> Gets the darker grey color value. </summary>
            <returns> A color struct with the hex value of <see href="http://www.color-hex.com/color/607D8B">607D8B</see>.</returns>
        </member>
        <member name="P:Discord.Color.RawValue">
            <summary> Gets the encoded value for this color. </summary>
            <remarks>
                This value is encoded as an unsigned integer value. The most-significant 8 bits contain the red value,
                the middle 8 bits contain the green value, and the least-significant 8 bits contain the blue value.
            </remarks>
        </member>
        <member name="P:Discord.Color.R">
            <summary> Gets the red component for this color. </summary>
        </member>
        <member name="P:Discord.Color.G">
            <summary> Gets the green component for this color. </summary>
        </member>
        <member name="P:Discord.Color.B">
            <summary> Gets the blue component for this color. </summary>
        </member>
        <member name="M:Discord.Color.#ctor(System.UInt32)">
            <summary>
                Initializes a <see cref="T:Discord.Color"/> struct with the given raw value.
            </summary>
            <example>
                The following will create a color that has a hex value of 
                <see href="http://www.color-hex.com/color/607d8b">#607D8B</see>.
                <code language="cs">
                Color darkGrey = new Color(0x607D8B);
                </code>
            </example>
            <param name="rawValue">The raw value of the color (e.g. <c>0x607D8B</c>).</param>
        </member>
        <member name="M:Discord.Color.#ctor(System.Byte,System.Byte,System.Byte)">
            <summary>
                Initializes a <see cref="T:Discord.Color" /> struct with the given RGB bytes.
            </summary>
            <example>
                The following will create a color that has a value of 
                <see href="http://www.color-hex.com/color/607d8b">#607D8B</see>.
                <code language="cs">
                Color darkGrey = new Color((byte)0b_01100000, (byte)0b_01111101, (byte)0b_10001011);
                </code>
            </example>
            <param name="r">The byte that represents the red color.</param>
            <param name="g">The byte that represents the green color.</param>
            <param name="b">The byte that represents the blue color.</param>
        </member>
        <member name="M:Discord.Color.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
                Initializes a <see cref="T:Discord.Color"/> struct with the given RGB value.
            </summary>
            <example>
                The following will create a color that has a value of 
                <see href="http://www.color-hex.com/color/607d8b">#607D8B</see>.
                <code language="cs">
                Color darkGrey = new Color(96, 125, 139);
                </code>
            </example>
            <param name="r">The value that represents the red color. Must be within 0~255.</param>
            <param name="g">The value that represents the green color. Must be within 0~255.</param>
            <param name="b">The value that represents the blue color. Must be within 0~255.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">The argument value is not between 0 to 255.</exception>
        </member>
        <member name="M:Discord.Color.#ctor(System.Single,System.Single,System.Single)">
            <summary>
                Initializes a <see cref="T:Discord.Color"/> struct with the given RGB float value.
            </summary>
            <example>
                The following will create a color that has a value of 
                <see href="http://www.color-hex.com/color/607c8c">#607c8c</see>.
                <code language="cs">
                Color darkGrey = new Color(0.38f, 0.49f, 0.55f);
                </code>
            </example>
            <param name="r">The value that represents the red color. Must be within 0~1.</param>
            <param name="g">The value that represents the green color. Must be within 0~1.</param>
            <param name="b">The value that represents the blue color. Must be within 0~1.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">The argument value is not between 0 to 1.</exception>
        </member>
        <member name="M:Discord.Color.ToString">
            <summary>
                Gets the hexadecimal representation of the color (e.g. <c>#000ccc</c>).
            </summary>
            <returns>
                A hexadecimal string of the color.
            </returns>
        </member>
        <member name="T:Discord.IRole">
            <summary>
                Represents a generic role object to be given to a guild user.
            </summary>
        </member>
        <member name="P:Discord.IRole.Guild">
            <summary>
                Gets the guild that owns this role.
            </summary>
            <returns>
                A guild representing the parent guild of this role.
            </returns>
        </member>
        <member name="P:Discord.IRole.Color">
            <summary>
                Gets the color given to users of this role.
            </summary>
            <returns>
                A <see cref="P:Discord.IRole.Color"/> struct representing the color of this role.
            </returns>
        </member>
        <member name="P:Discord.IRole.IsHoisted">
            <summary>
                Gets a value that indicates whether the role can be separated in the user list.
            </summary>
            <returns>
                <c>true</c> if users of this role are separated in the user list; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IRole.IsManaged">
            <summary>
                Gets a value that indicates whether the role is managed by Discord.
            </summary>
            <returns>
                <c>true</c> if this role is automatically managed by Discord; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IRole.IsMentionable">
            <summary>
                Gets a value that indicates whether the role is mentionable.
            </summary>
            <returns>
                <c>true</c> if this role may be mentioned in messages; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IRole.Name">
            <summary>
                Gets the name of this role.
            </summary>
            <returns>
                A string containing the name of this role.
            </returns>
        </member>
        <member name="P:Discord.IRole.Permissions">
            <summary>
                Gets the permissions granted to members of this role.
            </summary>
            <returns>
                A <see cref="T:Discord.GuildPermissions"/> struct that this role possesses.
            </returns>
        </member>
        <member name="P:Discord.IRole.Position">
            <summary>
                Gets this role's position relative to other roles in the same guild.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the position of the role in the role list of the guild.
            </returns>
        </member>
        <member name="M:Discord.IRole.ModifyAsync(System.Action{Discord.RoleProperties},Discord.RequestOptions)">
            <summary>
                Modifies this role.
            </summary>
            <remarks>
                This method modifies this role with the specified properties. To see an example of this
                method and what properties are available, please refer to <see cref="T:Discord.RoleProperties"/>.
            </remarks>
            <param name="func">A delegate containing the properties to modify the role with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
        </member>
        <member name="T:Discord.ReorderRoleProperties">
            <summary>
                Properties that are used to reorder an <see cref="T:Discord.IRole"/>.
            </summary>
        </member>
        <member name="P:Discord.ReorderRoleProperties.Id">
            <summary>
                Gets the identifier of the role to be edited.
            </summary>
            <returns>
                A <see cref="T:System.UInt64"/> representing the snowflake identifier of the role to be modified.
            </returns>
        </member>
        <member name="P:Discord.ReorderRoleProperties.Position">
            <summary>
                Gets the new zero-based position of the role.
            </summary>
            <returns>
                An <see cref="T:System.Int32"/> representing the new zero-based position of the role.
            </returns>
        </member>
        <member name="M:Discord.ReorderRoleProperties.#ctor(System.UInt64,System.Int32)">
            <summary>
                Initializes a <see cref="T:Discord.ReorderRoleProperties" /> with the given role ID and position.
            </summary>
            <param name="id">The ID of the role to be edited.</param>
            <param name="pos">The new zero-based position of the role.</param>
        </member>
        <member name="T:Discord.RoleProperties">
            <summary>
                Properties that are used to modify an <see cref="T:Discord.IRole" /> with the specified changes.
            </summary>
            <example>
                The following example modifies the role to a mentionable one, renames the role into <c>Sonic</c>, and
                changes the color to a light-blue.
                <code language="cs">
                await role.ModifyAsync(x =&gt;
                {
                    x.Name = "Sonic";
                    x.Color = new Color(0x1A50BC);
                    x.Mentionable = true;
                });
                </code>
            </example>
            <seealso cref="M:Discord.IRole.ModifyAsync(System.Action{Discord.RoleProperties},Discord.RequestOptions)" />
        </member>
        <member name="P:Discord.RoleProperties.Name">
            <summary>
                Gets or sets the name of the role.
            </summary>
            <remarks>
                This value may not be set if the role is an @everyone role.
            </remarks>
        </member>
        <member name="P:Discord.RoleProperties.Permissions">
            <summary>
                Gets or sets the role's <see cref="T:Discord.GuildPermission"/>.
            </summary>
        </member>
        <member name="P:Discord.RoleProperties.Position">
            <summary>
                Gets or sets the position of the role. This is 0-based!
            </summary>
            <remarks>
                This value may not be set if the role is an @everyone role.
            </remarks>
        </member>
        <member name="P:Discord.RoleProperties.Color">
            <summary>
                Gets or sets the color of the role.
            </summary>
            <remarks>
                This value may not be set if the role is an @everyone role.
            </remarks>
        </member>
        <member name="P:Discord.RoleProperties.Hoist">
            <summary>
                Gets or sets whether or not this role should be displayed independently in the user list.
            </summary>
            <remarks>
                This value may not be set if the role is an @everyone role.
            </remarks>
        </member>
        <member name="P:Discord.RoleProperties.Mentionable">
            <summary>
                Gets or sets whether or not this role can be mentioned.
            </summary>
            <remarks>
                This value may not be set if the role is an @everyone role.
            </remarks>
        </member>
        <member name="T:Discord.AddGuildUserProperties">
            <summary>
                Properties that are used to add a new <see cref="T:Discord.IGuildUser"/> to the guild with the following parameters.
            </summary>
            <seealso cref="M:Discord.IGuild.AddGuildUserAsync(System.UInt64,System.String,System.Action{Discord.AddGuildUserProperties},Discord.RequestOptions)" />
        </member>
        <member name="P:Discord.AddGuildUserProperties.Nickname">
            <summary>
                Gets or sets the user's nickname.
            </summary>
            <remarks>
                To clear the user's nickname, this value can be set to <c>null</c> or
                <see cref="F:System.String.Empty"/>.
            </remarks>
        </member>
        <member name="P:Discord.AddGuildUserProperties.Mute">
            <summary>
                Gets or sets whether the user should be muted in a voice channel.
            </summary>
            <remarks>
                If this value is set to <c>true</c>, no user will be able to hear this user speak in the guild.
            </remarks>
        </member>
        <member name="P:Discord.AddGuildUserProperties.Deaf">
            <summary>
                Gets or sets whether the user should be deafened in a voice channel.
            </summary>
            <remarks>
                If this value is set to <c>true</c>, this user will not be able to hear anyone speak in the guild.
            </remarks>
        </member>
        <member name="P:Discord.AddGuildUserProperties.Roles">
            <summary>
                Gets or sets the roles the user should have.
            </summary>
            <remarks>
                <para>
                    To add a role to a user:
                    <see cref="M:Discord.IGuildUser.AddRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
                <para>
                    To remove a role from a user:
                    <see cref="M:Discord.IGuildUser.RemoveRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
            </remarks>
        </member>
        <member name="P:Discord.AddGuildUserProperties.RoleIds">
            <summary>
                Gets or sets the roles the user should have.
            </summary>
            <remarks>
                <para>
                    To add a role to a user:
                    <see cref="M:Discord.IGuildUser.AddRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
                <para>
                    To remove a role from a user:
                    <see cref="M:Discord.IGuildUser.RemoveRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
            </remarks>
        </member>
        <member name="T:Discord.GuildUserProperties">
            <summary>
                Properties that are used to modify an <see cref="T:Discord.IGuildUser" /> with the following parameters.
            </summary>
            <seealso cref="M:Discord.IGuildUser.ModifyAsync(System.Action{Discord.GuildUserProperties},Discord.RequestOptions)" />
        </member>
        <member name="P:Discord.GuildUserProperties.Mute">
            <summary>
                Gets or sets whether the user should be muted in a voice channel.
            </summary>
            <remarks>
                If this value is set to <c>true</c>, no user will be able to hear this user speak in the guild.
            </remarks>
        </member>
        <member name="P:Discord.GuildUserProperties.Deaf">
            <summary>
                Gets or sets whether the user should be deafened in a voice channel.
            </summary>
            <remarks>
                If this value is set to <c>true</c>, this user will not be able to hear anyone speak in the guild.
            </remarks>
        </member>
        <member name="P:Discord.GuildUserProperties.Nickname">
            <summary>
                Gets or sets the user's nickname.
            </summary>
            <remarks>
                To clear the user's nickname, this value can be set to <c>null</c> or
                <see cref="F:System.String.Empty"/>.
            </remarks>
        </member>
        <member name="P:Discord.GuildUserProperties.Roles">
            <summary>
                Gets or sets the roles the user should have.
            </summary>
            <remarks>
                <para>
                    To add a role to a user:
                    <see cref="M:Discord.IGuildUser.AddRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
                <para>
                    To remove a role from a user:
                    <see cref="M:Discord.IGuildUser.RemoveRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
            </remarks>
        </member>
        <member name="P:Discord.GuildUserProperties.RoleIds">
            <summary>
                Gets or sets the roles the user should have.
            </summary>
            <remarks>
                <para>
                    To add a role to a user:
                    <see cref="M:Discord.IGuildUser.AddRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
                <para>
                    To remove a role from a user:
                    <see cref="M:Discord.IGuildUser.RemoveRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)" />
                </para>
            </remarks>
        </member>
        <member name="P:Discord.GuildUserProperties.Channel">
            <summary>
                Moves a user to a voice channel.
            </summary>
            <remarks>
                This user MUST already be in a <see cref="T:Discord.IVoiceChannel"/> for this to work.
            </remarks>
        </member>
        <member name="P:Discord.GuildUserProperties.ChannelId">
            <summary>
                Moves a user to a voice channel.
            </summary>
            <remarks>
                This user MUST already be in a <see cref="T:Discord.IVoiceChannel"/> for this to work.
            </remarks>
        </member>
        <member name="P:Discord.IConnection.Id">
            <summary> Gets the ID of the connection account. </summary>
            <returns> A <see cref="T:System.String"/> representing the unique identifier value of this connection. </returns>
        </member>
        <member name="P:Discord.IConnection.Type">
            <summary> Gets the service of the connection (twitch, youtube). </summary>
            <returns> A string containing the name of this type of connection. </returns>
        </member>
        <member name="P:Discord.IConnection.Name">
            <summary> Gets the username of the connection account. </summary>
            <returns> A string containing the name of this connection. </returns>
        </member>
        <member name="P:Discord.IConnection.IsRevoked">
            <summary> Gets whether the connection is revoked. </summary>
            <returns> A value which if true indicates that this connection has been revoked, otherwise false. </returns>
        </member>
        <member name="P:Discord.IConnection.IntegrationIds">
            <summary> Gets a <see cref="T:System.Collections.Generic.IReadOnlyCollection`1"/> of integration IDs. </summary>
            <returns>
                An <see cref="T:System.Collections.Generic.IReadOnlyCollection`1"/> containing <see cref="T:System.UInt64"/>
                representations of unique identifier values of integrations.
            </returns>
        </member>
        <member name="T:Discord.IGroupUser">
            <summary>
                Represents a Discord user that is in a group.
            </summary>
        </member>
        <member name="T:Discord.IGuildUser">
            <summary>
                Represents a generic guild user.
            </summary>
        </member>
        <member name="P:Discord.IGuildUser.JoinedAt">
            <summary>
                Gets when this user joined the guild.
            </summary>
            <returns>
                A <see cref="T:System.DateTimeOffset"/> representing the time of which the user has joined the guild; 
                <c>null</c> when it cannot be obtained.
            </returns>
        </member>
        <member name="P:Discord.IGuildUser.Nickname">
            <summary>
                Gets the nickname for this user.
            </summary>
            <returns>
                A string representing the nickname of the user; <c>null</c> if none is set.
            </returns>
        </member>
        <member name="P:Discord.IGuildUser.GuildPermissions">
            <summary>
                Gets the guild-level permissions for this user.
            </summary>
            <returns>
                A <see cref="T:Discord.GuildPermissions"/> structure for this user, representing what
                permissions this user has in the guild.
            </returns>
        </member>
        <member name="P:Discord.IGuildUser.Guild">
            <summary>
                Gets the guild for this user.
            </summary>
            <returns>
                A guild object that this user belongs to.
            </returns>
        </member>
        <member name="P:Discord.IGuildUser.GuildId">
            <summary>
                Gets the ID of the guild for this user.
            </summary>
            <returns>
                An <see cref="T:System.UInt64"/> representing the snowflake identifier of the guild that this user belongs to.
            </returns>
        </member>
        <member name="P:Discord.IGuildUser.RoleIds">
            <summary>
                Gets a collection of IDs for the roles that this user currently possesses in the guild.
            </summary>
            <remarks>
                This property returns a read-only collection of the identifiers of the roles that this user possesses.
                For WebSocket users, a Roles property can be found in place of this property. Due to the REST
                implementation, only a collection of identifiers can be retrieved instead of the full role objects.
            </remarks>
            <returns>
                A read-only collection of <see cref="T:System.UInt64"/>, each representing a snowflake identifier for a role that
                this user possesses.
            </returns>
        </member>
        <member name="M:Discord.IGuildUser.GetPermissions(Discord.IGuildChannel)">
            <summary>
                Gets the level permissions granted to this user to a given channel.
            </summary>
            <example>
                The following example checks if the current user has the ability to send a message with attachment in
                this channel; if so, uploads a file via <see cref="M:Discord.IMessageChannel.SendFileAsync(System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions,System.Boolean)"/>.
                <code language="cs">
                if (currentUser?.GetPermissions(targetChannel)?.AttachFiles)
                    await targetChannel.SendFileAsync("fortnite.png");
                </code>
            </example>
            <param name="channel">The channel to get the permission from.</param>
            <returns>
                A <see cref="T:Discord.ChannelPermissions"/> structure representing the permissions that a user has in the
                specified channel.
            </returns>
        </member>
        <member name="M:Discord.IGuildUser.KickAsync(System.String,Discord.RequestOptions)">
            <summary>
                Kicks this user from this guild.
            </summary>
            <param name="reason">The reason for the kick which will be recorded in the audit log.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous kick operation.
            </returns>
        </member>
        <member name="M:Discord.IGuildUser.ModifyAsync(System.Action{Discord.GuildUserProperties},Discord.RequestOptions)">
            <summary>
                Modifies this user's properties in this guild.
            </summary>
            <remarks>
                This method modifies the current guild user with the specified properties. To see an example of this
                method and what properties are available, please refer to <see cref="T:Discord.GuildUserProperties"/>.
            </remarks>
            <param name="func">The delegate containing the properties to modify the user with.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous modification operation.
            </returns>
        </member>
        <member name="M:Discord.IGuildUser.AddRoleAsync(Discord.IRole,Discord.RequestOptions)">
            <summary>
                Adds the specified role to this user in the guild.
            </summary>
            <param name="role">The role to be added to the user.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous role addition operation.
            </returns>
        </member>
        <member name="M:Discord.IGuildUser.AddRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)">
            <summary>
                Adds the specified <paramref name="roles"/> to this user in the guild.
            </summary>
            <param name="roles">The roles to be added to the user.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous role addition operation.
            </returns>
        </member>
        <member name="M:Discord.IGuildUser.RemoveRoleAsync(Discord.IRole,Discord.RequestOptions)">
            <summary>
                Removes the specified <paramref name="role"/> from this user in the guild.
            </summary>
            <param name="role">The role to be removed from the user.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous role removal operation.
            </returns>
        </member>
        <member name="M:Discord.IGuildUser.RemoveRolesAsync(System.Collections.Generic.IEnumerable{Discord.IRole},Discord.RequestOptions)">
            <summary>
                Removes the specified <paramref name="roles"/> from this user in the guild.
            </summary>
            <param name="roles">The roles to be removed from the user.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous role removal operation.
            </returns>
        </member>
        <member name="T:Discord.IPresence">
            <summary>
                Represents the user's presence status. This may include their online status and their activity.
            </summary>
        </member>
        <member name="P:Discord.IPresence.Activity">
            <summary>
                Gets the activity this user is currently doing.
            </summary>
        </member>
        <member name="P:Discord.IPresence.Status">
            <summary>
                Gets the current status of this user.
            </summary>
        </member>
        <member name="T:Discord.ISelfUser">
            <summary>
                Represents the logged-in Discord user.
            </summary>
        </member>
        <member name="P:Discord.ISelfUser.Email">
            <summary>
                Gets the email associated with this user.
            </summary>
        </member>
        <member name="P:Discord.ISelfUser.IsVerified">
            <summary>
                Indicates whether or not this user has their email verified.
            </summary>
            <returns>
                <c>true</c> if this user's email has been verified; <c>false</c> if not.
            </returns>
        </member>
        <member name="P:Discord.ISelfUser.IsMfaEnabled">
            <summary>
                Indicates whether or not this user has MFA enabled on their account.
            </summary>
            <returns>
                <c>true</c> if this user has enabled multi-factor authentication on their account; <c>false</c> if not.
            </returns>
        </member>
        <member name="M:Discord.ISelfUser.ModifyAsync(System.Action{Discord.SelfUserProperties},Discord.RequestOptions)">
            <summary>
                Modifies the user's properties.
            </summary>
        </member>
        <member name="T:Discord.IUser">
            <summary>
                Represents a generic user.
            </summary>
        </member>
        <member name="P:Discord.IUser.AvatarId">
            <summary>
                Gets the identifier of this user's avatar.
            </summary>
        </member>
        <member name="M:Discord.IUser.GetAvatarUrl(Discord.ImageFormat,System.UInt16)">
            <summary>
                Gets the avatar URL for this user.
            </summary>
            <remarks>
                This property retrieves a URL for this user's avatar. In event that the user does not have a valid avatar
                (i.e. their avatar identifier is not set), this property will return <c>null</c>. If you wish to
                retrieve the default avatar for this user, consider using <see cref="M:Discord.IUser.GetDefaultAvatarUrl"/> (see
                example).
            </remarks>
            <example>
                The following example attempts to retrieve the user's current avatar and send it to a channel; if one is
                not set, a default avatar for this user will be returned instead.
                <code language="cs" region="GetAvatarUrl"
                      source="..\..\..\Discord.Net.Examples\Core\Entities\Users\IUser.Examples.cs"/>
            </example>
            <param name="format">The format to return.</param>
            <param name="size">The size of the image to return in. This can be any power of two between 16 and 2048.
            </param>
            <returns>
                A string representing the user's avatar URL; <c>null</c> if the user does not have an avatar in place.
            </returns>
        </member>
        <member name="M:Discord.IUser.GetDefaultAvatarUrl">
            <summary>
                Gets the default avatar URL for this user.
            </summary>
            <remarks>
                This property retrieves a URL for this user's default avatar generated by Discord (Discord logo followed
                by a random color as its background). This property will always return a value as it is calculated based
                on the user's <see cref="P:Discord.IUser.DiscriminatorValue"/> (<c>discriminator % 5</c>).
            </remarks>
            <returns>
                A string representing the user's avatar URL.
            </returns>
        </member>
        <member name="P:Discord.IUser.Discriminator">
            <summary>
                Gets the per-username unique ID for this user.
            </summary>
        </member>
        <member name="P:Discord.IUser.DiscriminatorValue">
            <summary>
                Gets the per-username unique ID for this user.
            </summary>
        </member>
        <member name="P:Discord.IUser.IsBot">
            <summary>
                Gets a value that indicates whether this user is identified as a bot.
            </summary>
            <remarks>
                This property retrieves a value that indicates whether this user is a registered bot application
                (indicated by the blue BOT tag within the official chat client).
            </remarks>
            <returns>
                <c>true</c> if the user is a bot application; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IUser.IsWebhook">
            <summary>
                Gets a value that indicates whether this user is a webhook user.
            </summary>
            <returns>
                <c>true</c> if the user is a webhook; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IUser.Username">
            <summary>
                Gets the username for this user.
            </summary>
        </member>
        <member name="M:Discord.IUser.GetOrCreateDMChannelAsync(Discord.RequestOptions)">
            <summary>
                Gets the direct message channel of this user, or create one if it does not already exist.
            </summary>
            <remarks>
                This method is used to obtain or create a channel used to send a direct message.
                <note type="warning">
                     In event that the current user cannot send a message to the target user, a channel can and will
                     still be created by Discord. However, attempting to send a message will yield a 
                     <see cref="T:Discord.Net.HttpException"/> with a 403 as its 
                     <see cref="P:Discord.Net.HttpException.HttpCode"/>. There are currently no official workarounds by
                     Discord.
                </note>
            </remarks>
            <example>
                The following example attempts to send a direct message to the target user and logs the incident should
                it fail.
                <code region="GetOrCreateDMChannelAsync" language="cs"
                      source="../../../Discord.Net.Examples/Core/Entities/Users/IUser.Examples.cs"/>
            </example>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation for getting or creating a DM channel. The task result
                contains the DM channel associated with this user.
            </returns>
        </member>
        <member name="T:Discord.IVoiceState">
            <summary>
                Represents a user's voice connection status.
            </summary>
        </member>
        <member name="P:Discord.IVoiceState.IsDeafened">
            <summary>
                Gets a value that indicates whether this user is deafened by the guild.
            </summary>
            <returns>
                <c>true</c> if the user is deafened (i.e. not permitted to listen to or speak to others) by the guild;
                otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IVoiceState.IsMuted">
            <summary>
                Gets a value that indicates whether this user is muted (i.e. not permitted to speak via voice) by the
                guild.
            </summary>
            <returns>
                <c>true</c> if this user is muted by the guild; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IVoiceState.IsSelfDeafened">
            <summary>
                Gets a value that indicates whether this user has marked themselves as deafened.
            </summary>
            <returns>
                <c>true</c> if this user has deafened themselves (i.e. not permitted to listen to or speak to others); otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IVoiceState.IsSelfMuted">
            <summary>
                Gets a value that indicates whether this user has marked themselves as muted (i.e. not permitted to
                speak via voice).
            </summary>
            <returns>
                <c>true</c> if this user has muted themselves; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IVoiceState.IsSuppressed">
            <summary>
                Gets a value that indicates whether the user is muted by the current user.
            </summary>
            <returns>
                <c>true</c> if the guild is temporarily blocking audio to/from this user; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Discord.IVoiceState.VoiceChannel">
            <summary>
                Gets the voice channel this user is currently in.
            </summary>
            <returns>
                A generic voice channel object representing the voice channel that the user is currently in; <c>null</c>
                if none.
            </returns>
        </member>
        <member name="P:Discord.IVoiceState.VoiceSessionId">
            <summary>
                Gets the unique identifier for this user's voice session.
            </summary>
        </member>
        <member name="T:Discord.IWebhookUser">
            <summary> Represents a Webhook Discord user. </summary>
        </member>
        <member name="P:Discord.IWebhookUser.WebhookId">
            <summary> Gets the ID of a webhook. </summary>
        </member>
        <member name="T:Discord.SelfUserProperties">
            <summary>
                Properties that are used to modify the <see cref="T:Discord.ISelfUser" /> with the specified changes.
            </summary>
            <seealso cref="M:Discord.ISelfUser.ModifyAsync(System.Action{Discord.SelfUserProperties},Discord.RequestOptions)" />
        </member>
        <member name="P:Discord.SelfUserProperties.Username">
            <summary>
                Gets or sets the username.
            </summary>
        </member>
        <member name="P:Discord.SelfUserProperties.Avatar">
            <summary>
                Gets or sets the avatar.
            </summary>
        </member>
        <member name="T:Discord.UserStatus">
            <summary>
                Defines the available Discord user status.
            </summary>
        </member>
        <member name="F:Discord.UserStatus.Offline">
            <summary>
                The user is offline.
            </summary>
        </member>
        <member name="F:Discord.UserStatus.Online">
            <summary>
                The user is online.
            </summary>
        </member>
        <member name="F:Discord.UserStatus.Idle">
            <summary>
                The user is idle.
            </summary>
        </member>
        <member name="F:Discord.UserStatus.AFK">
            <summary>
                The user is AFK.
            </summary>
        </member>
        <member name="F:Discord.UserStatus.DoNotDisturb">
            <summary>
                The user is busy.
            </summary>
        </member>
        <member name="F:Discord.UserStatus.Invisible">
            <summary>
                The user is invisible.
            </summary>
        </member>
        <member name="T:Discord.IWebhook">
            <summary>
                Represents a webhook object on Discord.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.Token">
            <summary>
                Gets the token of this webhook.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.Name">
            <summary>
                Gets the default name of this webhook.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.AvatarId">
            <summary>
                Gets the ID of this webhook's default avatar.
            </summary>
        </member>
        <member name="M:Discord.IWebhook.GetAvatarUrl(Discord.ImageFormat,System.UInt16)">
            <summary>
                Gets the URL to this webhook's default avatar.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.Channel">
            <summary>
                Gets the channel for this webhook.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.ChannelId">
            <summary>
                Gets the ID of the channel for this webhook.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.Guild">
            <summary>
                Gets the guild owning this webhook.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.GuildId">
            <summary>
                Gets the ID of the guild owning this webhook.
            </summary>
        </member>
        <member name="P:Discord.IWebhook.Creator">
            <summary>
                Gets the user that created this webhook.
            </summary>
        </member>
        <member name="M:Discord.IWebhook.ModifyAsync(System.Action{Discord.WebhookProperties},Discord.RequestOptions)">
            <summary>
                Modifies this webhook.
            </summary>
        </member>
        <member name="T:Discord.WebhookProperties">
            <summary>
                Properties used to modify an <see cref="T:Discord.IWebhook" /> with the specified changes.
            </summary>
            <seealso cref="M:Discord.IWebhook.ModifyAsync(System.Action{Discord.WebhookProperties},Discord.RequestOptions)"/>
        </member>
        <member name="P:Discord.WebhookProperties.Name">
            <summary>
                Gets or sets the default name of the webhook.
            </summary>
        </member>
        <member name="P:Discord.WebhookProperties.Image">
            <summary>
                Gets or sets the default avatar of the webhook.
            </summary>
        </member>
        <member name="P:Discord.WebhookProperties.Channel">
            <summary>
                Gets or sets the channel for this webhook.
            </summary>
            <remarks>
                This field is not used when authenticated with <see cref="F:Discord.TokenType.Webhook"/>.
            </remarks>
        </member>
        <member name="P:Discord.WebhookProperties.ChannelId">
            <summary>
                Gets or sets the channel ID for this webhook.
            </summary>
            <remarks>
                This field is not used when authenticated with <see cref="F:Discord.TokenType.Webhook"/>.
            </remarks>
        </member>
        <member name="T:Discord.WebhookType">
            <summary>
            Represents the type of a webhook.
            </summary>
            <remarks>
            This type is currently unused, and is only returned in audit log responses.
            </remarks>
        </member>
        <member name="F:Discord.WebhookType.Incoming">
            <summary> An incoming webhook </summary>
        </member>
        <member name="T:Discord.AsyncEnumerableExtensions">
            <summary> An extension class for squashing <see cref="T:System.Collections.Generic.IAsyncEnumerable`1"/>. </summary>
        </member>
        <member name="M:Discord.AsyncEnumerableExtensions.FlattenAsync``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})">
            <summary> Flattens the specified pages into one <see cref="T:System.Collections.Generic.IEnumerable`1"/> asynchronously. </summary>
        </member>
        <member name="M:Discord.AsyncEnumerableExtensions.Flatten``1(System.Collections.Generic.IAsyncEnumerable{System.Collections.Generic.IEnumerable{``0}})">
            <summary> Flattens the specified pages into one <see cref="T:System.Collections.Generic.IAsyncEnumerable`1"/>. </summary>
        </member>
        <member name="F:Discord.AttachmentExtensions.SpoilerPrefix">
            <summary>
                The prefix applied to files to indicate that it is a spoiler.
            </summary>
        </member>
        <member name="M:Discord.AttachmentExtensions.IsSpoiler(Discord.IAttachment)">
            <summary>
                Gets whether the message's attachments are spoilers or not.
            </summary>
        </member>
        <member name="T:Discord.DiscordClientExtensions">
            <summary> An extension class for the Discord client. </summary>
        </member>
        <member name="M:Discord.DiscordClientExtensions.GetPrivateChannelAsync(Discord.IDiscordClient,System.UInt64)">
            <summary> Gets the private channel with the provided ID. </summary>
        </member>
        <member name="M:Discord.DiscordClientExtensions.GetDMChannelAsync(Discord.IDiscordClient,System.UInt64)">
            <summary> Gets the DM channel with the provided ID. </summary>
        </member>
        <member name="M:Discord.DiscordClientExtensions.GetDMChannelsAsync(Discord.IDiscordClient)">
            <summary> Gets all available DM channels for the client. </summary>
        </member>
        <member name="M:Discord.DiscordClientExtensions.GetGroupChannelAsync(Discord.IDiscordClient,System.UInt64)">
            <summary> Gets the group channel with the provided ID. </summary>
        </member>
        <member name="M:Discord.DiscordClientExtensions.GetGroupChannelsAsync(Discord.IDiscordClient)">
            <summary> Gets all available group channels for the client. </summary>
        </member>
        <member name="M:Discord.DiscordClientExtensions.GetOptimalVoiceRegionAsync(Discord.IDiscordClient)">
            <summary> Gets the most optimal voice region for the client. </summary>
        </member>
        <member name="T:Discord.EmbedBuilderExtensions">
            <summary> An extension class for building an embed. </summary>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.WithColor(Discord.EmbedBuilder,System.UInt32)">
            <summary> Adds embed color based on the provided raw value. </summary>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.WithColor(Discord.EmbedBuilder,System.Byte,System.Byte,System.Byte)">
            <summary> Adds embed color based on the provided RGB <see cref="T:System.Byte"/> value. </summary>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.WithColor(Discord.EmbedBuilder,System.Int32,System.Int32,System.Int32)">
            <summary> Adds embed color based on the provided RGB <see cref="T:System.Int32"/> value. </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The argument value is not between 0 to 255.</exception>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.WithColor(Discord.EmbedBuilder,System.Single,System.Single,System.Single)">
            <summary> Adds embed color based on the provided RGB <see cref="T:System.Single"/> value. </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The argument value is not between 0 to 1.</exception>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.WithAuthor(Discord.EmbedBuilder,Discord.IUser)">
            <summary> Fills the embed author field with the provided user's full username and avatar URL. </summary>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.ToEmbedBuilder(Discord.IEmbed)">
            <summary> Converts a <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.IEmbed"/> object to a <see cref="T:Discord.EmbedBuilder"/>. </summary>
            <exception cref="T:System.InvalidOperationException">The embed type is not <see cref="F:Discord.EmbedType.Rich"/>.</exception>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.WithFields(Discord.EmbedBuilder,System.Collections.Generic.IEnumerable{Discord.EmbedFieldBuilder})">
            <summary>
                Adds the specified fields into this <see cref="T:Discord.EmbedBuilder"/>.
            </summary>
            <exception cref="T:System.ArgumentException">Field count exceeds <see cref="F:Discord.EmbedBuilder.MaxFieldCount"/>.</exception>
        </member>
        <member name="M:Discord.EmbedBuilderExtensions.WithFields(Discord.EmbedBuilder,Discord.EmbedFieldBuilder[])">
            <summary>
                Adds the specified fields into this <see cref="T:Discord.EmbedBuilder"/>.
            </summary>
        </member>
        <member name="T:Discord.MessageExtensions">
            <summary>
                Provides extension methods for <see cref="T:Discord.IMessage" />.
            </summary>
        </member>
        <member name="M:Discord.MessageExtensions.GetJumpUrl(Discord.IMessage)">
            <summary>
                Gets a URL that jumps to the message.
            </summary>
            <param name="msg">The message to jump to.</param>
            <returns>
                A string that contains a URL for jumping to the message in chat.
            </returns>
        </member>
        <member name="M:Discord.MessageExtensions.AddReactionsAsync(Discord.IUserMessage,Discord.IEmote[],Discord.RequestOptions)">
            <summary>
                Add multiple reactions to a message.
            </summary>
            <remarks>
                This method does not bulk add reactions! It will send a request for each reaction inculded.
            </remarks>
            <example>
            <code language="cs">
            IEmote A = new Emoji("🅰");
            IEmote B = new Emoji("🅱");
            await msg.AddReactionsAsync(new[] { A, B });
            </code>
            </example>
            <param name="msg">The message to add reactions to.</param>
            <param name="reactions">An array of reactions to add to the message</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation for adding a reaction to this message.
            </returns>
            <seealso cref="M:Discord.IUserMessage.AddReactionAsync(Discord.IEmote,Discord.RequestOptions)"/>
            <seealso cref="T:Discord.IEmote"/>
        </member>
        <member name="M:Discord.MessageExtensions.RemoveReactionsAsync(Discord.IUserMessage,Discord.IUser,Discord.IEmote[],Discord.RequestOptions)">
            <summary>
                Remove multiple reactions from a message.
            </summary>
            <remarks>
                This method does not bulk remove reactions! If you want to clear reactions from a message,
                <see cref="M:Discord.IUserMessage.RemoveAllReactionsAsync(Discord.RequestOptions)"/>
            </remarks>
            <example>
            <code language="cs">
            await msg.RemoveReactionsAsync(currentUser, new[] { A, B });
            </code>
            </example>
            <param name="msg">The message to remove reactions from.</param>
            <param name="reactions">An array of reactions to remove from the message</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous operation for removing a reaction to this message.
            </returns>
            <seealso cref="M:Discord.IUserMessage.RemoveReactionAsync(Discord.IEmote,Discord.IUser,Discord.RequestOptions)"/>
            <seealso cref="T:Discord.IEmote"/>
        </member>
        <member name="T:Discord.UserExtensions">
            <summary> An extension class for various Discord user objects. </summary>
        </member>
        <member name="M:Discord.UserExtensions.SendMessageAsync(Discord.IUser,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions)">
            <summary>
                Sends a message via DM.
            </summary>
            <remarks>
                This method attempts to send a direct-message to the user.
                <note type="warning">
                    <para>
                    Please note that this method <strong>will</strong> throw an <see cref="T:Discord.Net.HttpException"/>
                    if the user cannot receive DMs due to privacy reasons or if the user has the sender blocked.
                    </para>
                    <para>
                    You may want to consider catching for <see cref="P:Discord.Net.HttpException.DiscordCode"/> 
                    <c>50007</c> when using this method.
                    </para>
                </note>
            </remarks>
            <param name="user">The user to send the DM to.</param>
            <param name="text">The message to be sent.</param>
            <param name="isTTS">Whether the message should be read aloud by Discord or not.</param>
            <param name="embed">The <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.Embed"/> to be sent.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous send operation. The task result contains the sent message.
            </returns>
        </member>
        <member name="M:Discord.UserExtensions.SendFileAsync(Discord.IUser,System.IO.Stream,System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions)">
            <summary>
                Sends a file to this message channel with an optional caption.
            </summary>
            <example>
                The following example uploads a streamed image that will be called <c>b1nzy.jpg</c> embedded inside a
                rich embed to the channel.
                <code language="cs">
                await channel.SendFileAsync(b1nzyStream, "b1nzy.jpg",
                    embed: new EmbedBuilder {ImageUrl = "attachment://b1nzy.jpg"}.Build());
                </code>
            </example>
            <remarks>
                This method attempts to send an attachment as a direct-message to the user.
                <note type="warning">
                    <para>
                    Please note that this method <strong>will</strong> throw an <see cref="T:Discord.Net.HttpException"/>
                    if the user cannot receive DMs due to privacy reasons or if the user has the sender blocked.
                    </para>
                    <para>
                    You may want to consider catching for <see cref="P:Discord.Net.HttpException.DiscordCode"/> 
                    <c>50007</c> when using this method.
                    </para>
                </note>
                <note>
                    If you wish to upload an image and have it embedded in a <see cref="F:Discord.EmbedType.Rich"/> embed,
                    you may upload the file and refer to the file with "attachment://filename.ext" in the
                    <see cref="P:Discord.EmbedBuilder.ImageUrl"/>. See the example section for its usage.
                </note>
            </remarks>
            <param name="user">The user to send the DM to.</param>
            <param name="stream">The <see cref="T:System.IO.Stream"/> of the file to be sent.</param>
            <param name="filename">The name of the attachment.</param>
            <param name="text">The message to be sent.</param>
            <param name="isTTS">Whether the message should be read aloud by Discord or not.</param>
            <param name="embed">The <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.Embed"/> to be sent.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents an asynchronous send operation for delivering the message. The task result
                contains the sent message.
            </returns>
        </member>
        <member name="M:Discord.UserExtensions.SendFileAsync(Discord.IUser,System.String,System.String,System.Boolean,Discord.Embed,Discord.RequestOptions)">
            <summary>
                Sends a file via DM with an optional caption.
            </summary>
            <example>
                The following example uploads a local file called <c>wumpus.txt</c> along with the text 
                <c>good discord boi</c> to the channel.
                <code language="cs">
                await channel.SendFileAsync("wumpus.txt", "good discord boi");
                </code>
            
                The following example uploads a local image called <c>b1nzy.jpg</c> embedded inside a rich embed to the
                channel.
                <code language="cs">
                await channel.SendFileAsync("b1nzy.jpg",
                    embed: new EmbedBuilder {ImageUrl = "attachment://b1nzy.jpg"}.Build());
                </code>
            </example>
            <remarks>
                This method attempts to send an attachment as a direct-message to the user.
                <note type="warning">
                    <para>
                    Please note that this method <strong>will</strong> throw an <see cref="T:Discord.Net.HttpException"/>
                    if the user cannot receive DMs due to privacy reasons or if the user has the sender blocked.
                    </para>
                    <para>
                    You may want to consider catching for <see cref="P:Discord.Net.HttpException.DiscordCode"/> 
                    <c>50007</c> when using this method.
                    </para>
                </note>
                <note>
                    If you wish to upload an image and have it embedded in a <see cref="F:Discord.EmbedType.Rich"/> embed,
                    you may upload the file and refer to the file with "attachment://filename.ext" in the
                    <see cref="P:Discord.EmbedBuilder.ImageUrl"/>. See the example section for its usage.
                </note>
            </remarks>
            <param name="user">The user to send the DM to.</param>
            <param name="filePath">The file path of the file.</param>
            <param name="text">The message to be sent.</param>
            <param name="isTTS">Whether the message should be read aloud by Discord or not.</param>
            <param name="embed">The <see cref="F:Discord.EmbedType.Rich"/> <see cref="T:Discord.Embed"/> to be sent.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents an asynchronous send operation for delivering the message. The task result
                contains the sent message.
            </returns>
        </member>
        <member name="M:Discord.UserExtensions.BanAsync(Discord.IGuildUser,System.Int32,System.String,Discord.RequestOptions)">
            <summary>
                Bans the user from the guild and optionally prunes their recent messages.
            </summary>
            <param name="user">The user to ban.</param>
            <param name="pruneDays">The number of days to remove messages from this <paramref name="user"/> for - must be between [0, 7]</param>
            <param name="reason">The reason of the ban to be written in the audit log.</param>
            <param name="options">The options to be used when sending the request.</param>
            <exception cref="T:System.ArgumentException"><paramref name="pruneDays" /> is not between 0 to 7.</exception>
            <returns>
                A task that represents the asynchronous operation for banning a user.
            </returns>
        </member>
        <member name="T:Discord.Format">
            <summary> A helper class for formatting characters. </summary>
        </member>
        <member name="M:Discord.Format.Bold(System.String)">
            <summary> Returns a markdown-formatted string with bold formatting. </summary>
        </member>
        <member name="M:Discord.Format.Italics(System.String)">
            <summary> Returns a markdown-formatted string with italics formatting. </summary>
        </member>
        <member name="M:Discord.Format.Underline(System.String)">
            <summary> Returns a markdown-formatted string with underline formatting. </summary>
        </member>
        <member name="M:Discord.Format.Strikethrough(System.String)">
            <summary> Returns a markdown-formatted string with strikethrough formatting. </summary>
        </member>
        <member name="M:Discord.Format.Spoiler(System.String)">
            <summary> Returns a string with spoiler formatting. </summary>
        </member>
        <member name="M:Discord.Format.Url(System.String,System.String)">
            <summary> Returns a markdown-formatted URL. Only works in <see cref="T:Discord.EmbedBuilder"/> descriptions and fields. </summary>
        </member>
        <member name="M:Discord.Format.EscapeUrl(System.String)">
            <summary> Escapes a URL so that a preview is not generated. </summary>
        </member>
        <member name="M:Discord.Format.Code(System.String,System.String)">
            <summary> Returns a markdown-formatted string with codeblock formatting. </summary>
        </member>
        <member name="M:Discord.Format.Sanitize(System.String)">
            <summary> Sanitizes the string, safely escaping any Markdown sequences. </summary>
        </member>
        <member name="T:Discord.IDiscordClient">
            <summary>
                Represents a generic Discord client.
            </summary>
        </member>
        <member name="P:Discord.IDiscordClient.ConnectionState">
            <summary>
                Gets the current state of connection.
            </summary>
        </member>
        <member name="P:Discord.IDiscordClient.CurrentUser">
            <summary>
                Gets the currently logged-in user.
            </summary>
        </member>
        <member name="P:Discord.IDiscordClient.TokenType">
            <summary>
                Gets the token type of the logged-in user.
            </summary>
        </member>
        <member name="M:Discord.IDiscordClient.StartAsync">
            <summary>
                Starts the connection between Discord and the client..
            </summary>
            <remarks>
                This method will initialize the connection between the client and Discord.
                <note type="important">
                    This method will immediately return after it is called, as it will initialize the connection on
                    another thread.
                </note>
            </remarks>
            <returns>
                A task that represents the asynchronous start operation.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.StopAsync">
            <summary>
                Stops the connection between Discord and the client.
            </summary>
            <returns>
                A task that represents the asynchronous stop operation.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetApplicationInfoAsync(Discord.RequestOptions)">
            <summary>
                Gets a Discord application information for the logged-in user.
            </summary>
            <remarks>
                This method reflects your application information you submitted when creating a Discord application via
                the Developer Portal.
            </remarks>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the application
                information.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetChannelAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a generic channel.
            </summary>
            <example>
                <code language="cs" title="Example method">
                var channel = await _client.GetChannelAsync(381889909113225237);
                if (channel != null &amp;&amp; channel is IMessageChannel msgChannel)
                {
                    await msgChannel.SendMessageAsync($"{msgChannel} is created at {msgChannel.CreatedAt}");
                }
                </code>
            </example>
            <param name="id">The snowflake identifier of the channel (e.g. `381889909113225237`).</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the channel associated
                with the snowflake identifier; <c>null</c> when the channel cannot be found.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetPrivateChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of private channels opened in this session.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <remarks>
                This method will retrieve all private channels (including direct-message, group channel and such) that
                are currently opened in this session.
                <note type="warning">
                    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.
                </note>
            </remarks>
            <returns>
                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.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetDMChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of direct message channels opened in this session.
            </summary>
            <remarks>
                This method returns a collection of currently opened direct message channels.
                <note type="warning">
                    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.
                </note>
            </remarks>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                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.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetGroupChannelsAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of group channels opened in this session.
            </summary>
            <remarks>
                This method returns a collection of currently opened group channels.
                <note type="warning">
                    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.
                </note>
            </remarks>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                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.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetConnectionsAsync(Discord.RequestOptions)">
            <summary>
                Gets the connections that the user has set up.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection of connections.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetGuildAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a guild.
            </summary>
            <param name="id">The guild snowflake identifier.</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the guild associated
                with the snowflake identifier; <c>null</c> when the guild cannot be found.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetGuildsAsync(Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a collection of guilds that the user is currently in.
            </summary>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a read-only collection
                of guilds that the current user is in.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.CreateGuildAsync(System.String,Discord.IVoiceRegion,System.IO.Stream,Discord.RequestOptions)">
            <summary>
                Creates a guild for the logged-in user who is in less than 10 active guilds.
            </summary>
            <remarks>
                This method creates a new guild on behalf of the logged-in user.
                <note type="warning">
                    Due to Discord's limitation, this method will only work for users that are in less than 10 guilds.
                </note>
            </remarks>
            <param name="name">The name of the new guild.</param>
            <param name="region">The voice region to create the guild with.</param>
            <param name="jpegIcon">The icon of the guild.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous creation operation. The task result contains the created guild.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetInviteAsync(System.String,Discord.RequestOptions)">
            <summary>
                Gets an invite.
            </summary>
            <param name="inviteId">The invitation identifier.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the invite information.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetUserAsync(System.UInt64,Discord.CacheMode,Discord.RequestOptions)">
            <summary>
                Gets a user.
            </summary>
            <example>
                <code language="cs" title="Example method">
                var user = await _client.GetUserAsync(168693960628371456);
                if (user != null)
                    Console.WriteLine($"{user} is created at {user.CreatedAt}.";
                </code>
            </example>
            <param name="id">The snowflake identifier of the user (e.g. `168693960628371456`).</param>
            <param name="mode">The <see cref="T:Discord.CacheMode"/> that determines whether the object should be fetched from cache.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the user associated with
                the snowflake identifier; <c>null</c> if the user is not found.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetUserAsync(System.String,System.String,Discord.RequestOptions)">
            <summary>
                Gets a user.
            </summary>
            <example>
                <code language="cs" title="Example method">
               var user = await _client.GetUserAsync("Still", "2876");
               if (user != null)
                   Console.WriteLine($"{user} is created at {user.CreatedAt}.";
               </code>
            </example>
            <param name="username">The name of the user (e.g. `Still`).</param>
            <param name="discriminator">The discriminator value of the user (e.g. `2876`).</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the user associated with
                the name and the discriminator; <c>null</c> if the user is not found.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetVoiceRegionsAsync(Discord.RequestOptions)">
            <summary>
                Gets a collection of the available voice regions.
            </summary>
            <example>
                The following example gets the most optimal voice region from the collection.
                <code language="cs">
                    var regions = await client.GetVoiceRegionsAsync();
                    var optimalRegion = regions.FirstOrDefault(x =&gt; x.IsOptimal);
                </code>
            </example>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                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.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetVoiceRegionAsync(System.String,Discord.RequestOptions)">
            <summary>
                Gets a voice region.
            </summary>
            <param name="id">The identifier of the voice region (e.g. <c>eu-central</c> ).</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains the voice region
                associated with the identifier; <c>null</c> if the voice region is not found.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetWebhookAsync(System.UInt64,Discord.RequestOptions)">
            <summary>
                Gets a webhook available.
            </summary>
            <param name="id">The identifier of the webhook.</param>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains a webhook associated
                with the identifier; <c>null</c> if the webhook is not found.
            </returns>
        </member>
        <member name="M:Discord.IDiscordClient.GetRecommendedShardCountAsync(Discord.RequestOptions)">
            <summary>
                Gets the recommended shard count as suggested by Discord.
            </summary>
            <param name="options">The options to be used when sending the request.</param>
            <returns>
                A task that represents the asynchronous get operation. The task result contains an <see cref="T:System.Int32"/>
                that represents the number of shards that should be used with this account.
            </returns>
        </member>
        <member name="T:Discord.LogMessage">
            <summary>
                Provides a message object used for logging purposes.
            </summary>
        </member>
        <member name="P:Discord.LogMessage.Severity">
            <summary>
                Gets the severity of the log entry.
            </summary>
            <returns>
                A <see cref="T:Discord.LogSeverity"/> enum to indicate the severeness of the incident or event.
            </returns>
        </member>
        <member name="P:Discord.LogMessage.Source">
            <summary>
                Gets the source of the log entry.
            </summary>
            <returns>
                A string representing the source of the log entry.
            </returns>
        </member>
        <member name="P:Discord.LogMessage.Message">
            <summary>
                Gets the message of this log entry.
            </summary>
            <returns>
                A string containing the message of this log entry.
            </returns>
        </member>
        <member name="P:Discord.LogMessage.Exception">
            <summary>
                Gets the exception of this log entry.
            </summary>
            <returns>
                An <see cref="P:Discord.LogMessage.Exception" /> object associated with an incident; otherwise <c>null</c>.
            </returns>
        </member>
        <member name="M:Discord.LogMessage.#ctor(Discord.LogSeverity,System.String,System.String,System.Exception)">
            <summary>
                Initializes a new <see cref="T:Discord.LogMessage"/> struct with the severity, source, message of the event, and
                optionally, an exception.
            </summary>
            <param name="severity">The severity of the event.</param>
            <param name="source">The source of the event.</param>
            <param name="message">The message of the event.</param>
            <param name="exception">The exception of the event.</param>
        </member>
        <member name="T:Discord.LogSeverity">
            <summary>
                Specifies the severity of the log message.
            </summary>
        </member>
        <member name="F:Discord.LogSeverity.Critical">
            <summary>
                Logs that contain the most severe level of error. This type of error indicate that immediate attention
                may be required.
            </summary>
        </member>
        <member name="F:Discord.LogSeverity.Error">
            <summary>
                Logs that highlight when the flow of execution is stopped due to a failure.
            </summary>
        </member>
        <member name="F:Discord.LogSeverity.Warning">
            <summary>
                Logs that highlight an abnormal activity in the flow of execution.
            </summary>
        </member>
        <member name="F:Discord.LogSeverity.Info">
            <summary>
                Logs that track the general flow of the application.
            </summary>
        </member>
        <member name="F:Discord.LogSeverity.Verbose">
            <summary>
                Logs that are used for interactive investigation during development.
            </summary>
        </member>
        <member name="F:Discord.LogSeverity.Debug">
            <summary>
                Logs that contain the most detailed messages.
            </summary>
        </member>
        <member name="T:Discord.LoginState">
            <summary> Specifies the state of the client's login status. </summary>
        </member>
        <member name="F:Discord.LoginState.LoggedOut">
            <summary> The client is currently logged out. </summary>
        </member>
        <member name="F:Discord.LoginState.LoggingIn">
            <summary> The client is currently logging in. </summary>
        </member>
        <member name="F:Discord.LoginState.LoggedIn">
            <summary> The client is currently logged in. </summary>
        </member>
        <member name="F:Discord.LoginState.LoggingOut">
            <summary> The client is currently logging out. </summary>
        </member>
        <member name="T:Discord.Net.HttpException">
            <summary>
                The exception that is thrown if an error occurs while processing an Discord HTTP request.
            </summary>
        </member>
        <member name="P:Discord.Net.HttpException.HttpCode">
            <summary>
                Gets the HTTP status code returned by Discord.
            </summary>
            <returns>
                An 
                <see href="https://discordapp.com/developers/docs/topics/opcodes-and-status-codes#http">HTTP status code</see>
                from Discord.
            </returns>
        </member>
        <member name="P:Discord.Net.HttpException.DiscordCode">
            <summary>
                Gets the JSON error code returned by Discord.
            </summary>
            <returns>
                A 
                <see href="https://discordapp.com/developers/docs/topics/opcodes-and-status-codes#json">JSON error code</see>
                from Discord, or <c>null</c> if none.
            </returns>
        </member>
        <member name="P:Discord.Net.HttpException.Reason">
            <summary>
                Gets the reason of the exception.
            </summary>
        </member>
        <member name="P:Discord.Net.HttpException.Request">
            <summary>
                Gets the request object used to send the request.
            </summary>
        </member>
        <member name="M:Discord.Net.HttpException.#ctor(System.Net.HttpStatusCode,Discord.Net.IRequest,System.Nullable{System.Int32},System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Discord.Net.HttpException" /> class.
            </summary>
            <param name="httpCode">The HTTP status code returned.</param>
            <param name="request">The request that was sent prior to the exception.</param>
            <param name="discordCode">The Discord status code returned.</param>
            <param name="reason">The reason behind the exception.</param>
        </member>
        <member name="T:Discord.Net.IRequest">
            <summary>
                Represents a generic request to be sent to Discord.
            </summary>
        </member>
        <member name="T:Discord.Net.RateLimitedException">
            <summary>
                The exception that is thrown when the user is being rate limited by Discord.
            </summary>
        </member>
        <member name="P:Discord.Net.RateLimitedException.Request">
            <summary>
                Gets the request object used to send the request.
            </summary>
        </member>
        <member name="M:Discord.Net.RateLimitedException.#ctor(Discord.Net.IRequest)">
            <summary>
                Initializes a new instance of the <see cref="T:Discord.Net.RateLimitedException" /> class using the
                <paramref name="request"/> sent.
            </summary>
        </member>
        <member name="T:Discord.Net.Rest.IRestClient">
            <summary>
                Represents a generic REST-based client.
            </summary>
        </member>
        <member name="M:Discord.Net.Rest.IRestClient.SetHeader(System.String,System.String)">
            <summary>
                Sets the HTTP header of this client for all requests.
            </summary>
            <param name="key">The field name of the header.</param>
            <param name="value">The value of the header.</param>
        </member>
        <member name="M:Discord.Net.Rest.IRestClient.SetCancelToken(System.Threading.CancellationToken)">
            <summary>
                Sets the cancellation token for this client.
            </summary>
            <param name="cancelToken">The cancellation token.</param>
        </member>
        <member name="M:Discord.Net.Rest.IRestClient.SendAsync(System.String,System.String,System.Threading.CancellationToken,System.Boolean,System.String)">
            <summary>
            Sends a REST request.
            </summary>
            <param name="method">The method used to send this request (i.e. HTTP verb such as <c>GET</c>, <c>POST</c>).</param>
            <param name="endpoint">The endpoint to send this request to.</param>
            <param name="cancelToken">The cancellation token used to cancel the task.</param>
            <param name="headerOnly">Indicates whether to send the header only.</param>
            <param name="reason">The audit log reason.</param>
            <returns></returns>
        </member>
        <member name="T:Discord.Net.WebSocketClosedException">
            <summary>
                The exception that is thrown when the WebSocket session is closed by Discord.
            </summary>
        </member>
        <member name="P:Discord.Net.WebSocketClosedException.CloseCode">
            <summary>
                Gets the close code sent by Discord.
            </summary>
            <returns>
                A 
                <see href="https://discordapp.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes">close code</see>
                from Discord.
            </returns>
        </member>
        <member name="P:Discord.Net.WebSocketClosedException.Reason">
            <summary>
                Gets the reason of the interruption.
            </summary>
        </member>
        <member name="M:Discord.Net.WebSocketClosedException.#ctor(System.Int32,System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Discord.Net.WebSocketClosedException" /> using a Discord close code
                and an optional reason.
            </summary>
        </member>
        <member name="T:Discord.RequestOptions">
            <summary>
                Represents options that should be used when sending a request.
            </summary>
        </member>
        <member name="P:Discord.RequestOptions.Default">
            <summary>
                Creates a new <see cref="T:Discord.RequestOptions" /> class with its default settings.
            </summary>
        </member>
        <member name="P:Discord.RequestOptions.Timeout">
            <summary>
                Gets or sets the maximum time to wait for for this request to complete.
            </summary>
            <remarks>
                Gets or set the max time, in milliseconds, to wait for for this request to complete. If 
                <c>null</c>, a request will not time out. If a rate limit has been triggered for this request's bucket
                and will not be unpaused in time, this request will fail immediately.
            </remarks>
            <returns>
                A <see cref="T:System.Int32"/> in milliseconds for when the request times out.
            </returns>
        </member>
        <member name="P:Discord.RequestOptions.CancelToken">
            <summary>
                Gets or sets the cancellation token for this request.
            </summary>
            <returns>
                A <see cref="T:System.Threading.CancellationToken"/> for this request.
            </returns>
        </member>
        <member name="P:Discord.RequestOptions.RetryMode">
            <summary>
                Gets or sets the retry behavior when the request fails.
            </summary>
        </member>
        <member name="P:Discord.RequestOptions.AuditLogReason">
            <summary>
                Gets or sets the reason for this action in the guild's audit log.
            </summary>
            <remarks>
                Gets or sets the reason that will be written to the guild's audit log if applicable. This may not apply
                to all actions.
            </remarks>
        </member>
        <member name="M:Discord.RequestOptions.#ctor">
            <summary>
                Initializes a new <see cref="T:Discord.RequestOptions" /> class with the default request timeout set in
                <see cref="T:Discord.DiscordConfig"/>.
            </summary>
        </member>
        <member name="T:Discord.RetryMode">
            <summary> Specifies how a request should act in the case of an error. </summary>
        </member>
        <member name="F:Discord.RetryMode.AlwaysFail">
            <summary> If a request fails, an exception is thrown immediately. </summary>
        </member>
        <member name="F:Discord.RetryMode.RetryTimeouts">
            <summary> Retry if a request timed out. </summary>
        </member>
        <member name="F:Discord.RetryMode.RetryRatelimit">
            <summary> Retry if a request failed due to a rate-limit. </summary>
        </member>
        <member name="F:Discord.RetryMode.Retry502">
            <summary> Retry if a request failed due to an HTTP error 502. </summary>
        </member>
        <member name="F:Discord.RetryMode.AlwaysRetry">
            <summary> Continuously retry a request until it times out, its cancel token is triggered, or the server responds with a non-502 error. </summary>
        </member>
        <member name="T:Discord.TokenType">
            <summary> Specifies the type of token to use with the client. </summary>
        </member>
        <member name="F:Discord.TokenType.Bearer">
            <summary>
                An OAuth2 token type.
            </summary>
        </member>
        <member name="F:Discord.TokenType.Bot">
            <summary>
                A bot token type.
            </summary>
        </member>
        <member name="F:Discord.TokenType.Webhook">
            <summary>
                A webhook token type.
            </summary>
        </member>
        <member name="T:Discord.Cacheable`2">
            <summary>
                Represents a cached entity.
            </summary>
            <typeparam name="TEntity">The type of entity that is cached.</typeparam>
            <typeparam name="TId">The type of this entity's ID.</typeparam>
        </member>
        <member name="P:Discord.Cacheable`2.HasValue">
            <summary>
                Gets whether this entity is cached.
            </summary>
        </member>
        <member name="P:Discord.Cacheable`2.Id">
            <summary>
                Gets the ID of this entity.
            </summary>
        </member>
        <member name="P:Discord.Cacheable`2.Value">
            <summary>
                Gets the entity if it could be pulled from cache.
            </summary>
            <remarks>
                This value is not guaranteed to be set; in cases where the entity cannot be pulled from cache, it is
                <c>null</c>.
            </remarks>
        </member>
        <member name="M:Discord.Cacheable`2.DownloadAsync">
            <summary>
                Downloads this entity to cache.
            </summary>
            <exception cref="T:Discord.Net.HttpException">Thrown when used from a user account.</exception>
            <exception cref="T:System.NullReferenceException">Thrown when the message is deleted.</exception>
            <returns>
                A task that represents the asynchronous download operation. The task result contains the downloaded
                entity.
            </returns>
        </member>
        <member name="M:Discord.Cacheable`2.GetOrDownloadAsync">
            <summary>
                Returns the cached entity if it exists; otherwise downloads it.
            </summary>
            <exception cref="T:Discord.Net.HttpException">Thrown when used from a user account.</exception>
            <exception cref="T:System.NullReferenceException">Thrown when the message is deleted and is not in cache.</exception>
            <returns>
                A task that represents the asynchronous operation that attempts to get the message via cache or to
                download the message. The task result contains the downloaded entity.
            </returns>
        </member>
        <member name="T:Discord.DiscordComparers">
            <summary>
                Represents a collection of <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> for various Discord objects.
            </summary>
        </member>
        <member name="P:Discord.DiscordComparers.UserComparer">
            <summary>
                Gets an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to be used to compare users.
            </summary>
        </member>
        <member name="P:Discord.DiscordComparers.GuildComparer">
            <summary>
                Gets an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to be used to compare guilds.
            </summary>
        </member>
        <member name="P:Discord.DiscordComparers.ChannelComparer">
            <summary>
                Gets an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to be used to compare channels.
            </summary>
        </member>
        <member name="P:Discord.DiscordComparers.RoleComparer">
            <summary>
                Gets an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to be used to compare roles.
            </summary>
        </member>
        <member name="P:Discord.DiscordComparers.MessageComparer">
            <summary>
                Gets an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> to be used to compare messages.
            </summary>
        </member>
        <member name="M:Discord.ConcurrentHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is <c>null</c></exception>
        </member>
        <member name="M:Discord.ConcurrentHashSet`1.#ctor(System.Int32,System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <exception cref="T:System.ArgumentNullException">
            <paramref name="collection" /> or <paramref name="comparer" /> is <c>null</c>
            </exception>
        </member>
        <member name="M:Discord.ConcurrentHashSet`1.ContainsKey(`0)">
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> is <c>null</c></exception>
        </member>
        <member name="M:Discord.ConcurrentHashSet`1.TryAdd(`0)">
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> is <c>null</c></exception>
        </member>
        <member name="M:Discord.ConcurrentHashSet`1.TryRemove(`0)">
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> is <c>null</c></exception>
        </member>
        <member name="T:Discord.DateTimeUtils">
            <see href="https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/DateTimeOffset.cs"/>
        </member>
        <member name="T:Discord.MentionUtils">
            <summary>
                Provides a series of helper methods for parsing mentions.
            </summary>
        </member>
        <member name="M:Discord.MentionUtils.MentionUser(System.UInt64)">
            <summary>
                Returns a mention string based on the user ID.
            </summary>
            <returns>
                A user mention string (e.g. &lt;@80351110224678912&gt;).
            </returns>
        </member>
        <member name="M:Discord.MentionUtils.MentionChannel(System.UInt64)">
            <summary>
                Returns a mention string based on the channel ID.
            </summary>
            <returns>
                A channel mention string (e.g. &lt;#103735883630395392&gt;).
            </returns>
        </member>
        <member name="M:Discord.MentionUtils.MentionRole(System.UInt64)">
            <summary>
                Returns a mention string based on the role ID.
            </summary>
            <returns>
                A role mention string (e.g. &lt;@&amp;165511591545143296&gt;).
            </returns>
        </member>
        <member name="M:Discord.MentionUtils.ParseUser(System.String)">
            <summary>
                Parses a provided user mention string.
            </summary>
            <exception cref="T:System.ArgumentException">Invalid mention format.</exception>
        </member>
        <member name="M:Discord.MentionUtils.TryParseUser(System.String,System.UInt64@)">
            <summary>
                Tries to parse a provided user mention string.
            </summary>
        </member>
        <member name="M:Discord.MentionUtils.ParseChannel(System.String)">
            <summary>
                Parses a provided channel mention string.
            </summary>
            <exception cref="T:System.ArgumentException">Invalid mention format.</exception>
        </member>
        <member name="M:Discord.MentionUtils.TryParseChannel(System.String,System.UInt64@)">
            <summary>
                Tries to parse a provided channel mention string.
            </summary>
        </member>
        <member name="M:Discord.MentionUtils.ParseRole(System.String)">
            <summary>
                Parses a provided role mention string.
            </summary>
            <exception cref="T:System.ArgumentException">Invalid mention format.</exception>
        </member>
        <member name="M:Discord.MentionUtils.TryParseRole(System.String,System.UInt64@)">
            <summary>
                Tries to parse a provided role mention string.
            </summary>
        </member>
        <member name="P:Discord.Optional`1.Value">
            <summary> Gets the value for this parameter. </summary>
            <exception cref="T:System.InvalidOperationException" accessor="get">This property has no value set.</exception>
        </member>
        <member name="P:Discord.Optional`1.IsSpecified">
            <summary> Returns true if this value has been specified. </summary>
        </member>
        <member name="M:Discord.Optional`1.#ctor(`0)">
            <summary> Creates a new Parameter with the provided value. </summary>
        </member>
        <member name="M:Discord.Preconditions.NotNull``1(``0,System.String,System.String)">
            <exception cref="T:System.ArgumentNullException"><paramref name="obj"/> must not be <see langword="null"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotNull``1(Discord.Optional{``0},System.String,System.String)">
            <exception cref="T:System.ArgumentNullException"><paramref name="obj"/> must not be <see langword="null"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEmpty(System.String,System.String,System.String)">
            <exception cref="T:System.ArgumentException"><paramref name="obj"/> cannot be blank.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEmpty(Discord.Optional{System.String},System.String,System.String)">
            <exception cref="T:System.ArgumentException"><paramref name="obj"/> cannot be blank.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotNullOrEmpty(System.String,System.String,System.String)">
            <exception cref="T:System.ArgumentException"><paramref name="obj"/> cannot be blank.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="obj"/> must not be <see langword="null"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotNullOrEmpty(Discord.Optional{System.String},System.String,System.String)">
            <exception cref="T:System.ArgumentException"><paramref name="obj"/> cannot be blank.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="obj"/> must not be <see langword="null"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotNullOrWhitespace(System.String,System.String,System.String)">
            <exception cref="T:System.ArgumentException"><paramref name="obj"/> cannot be blank.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="obj"/> must not be <see langword="null"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotNullOrWhitespace(Discord.Optional{System.String},System.String,System.String)">
            <exception cref="T:System.ArgumentException"><paramref name="obj"/> cannot be blank.</exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="obj"/> must not be <see langword="null"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.SByte,System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Byte,System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Int16,System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.UInt16,System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Int32,System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.UInt32,System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Int64,System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.UInt64,System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.SByte},System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Byte},System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Int16},System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.UInt16},System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Int32},System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.UInt32},System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Int64},System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.UInt64},System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.SByte},System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.Byte},System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.Int16},System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.UInt16},System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.Int32},System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.UInt32},System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.Int64},System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(System.Nullable{System.UInt64},System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.SByte}},System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.Byte}},System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.Int16}},System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.UInt16}},System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.Int32}},System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.UInt32}},System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.Int64}},System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEqual(Discord.Optional{System.Nullable{System.UInt64}},System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value may not be equal to <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.SByte,System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.Byte,System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.Int16,System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.UInt16,System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.Int32,System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.UInt32,System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.Int64,System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(System.UInt64,System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.SByte},System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.Byte},System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.Int16},System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.UInt16},System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.Int32},System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.UInt32},System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.Int64},System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtLeast(Discord.Optional{System.UInt64},System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at least <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.SByte,System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.Byte,System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.Int16,System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.UInt16,System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.Int32,System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.UInt32,System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.Int64,System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(System.UInt64,System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.SByte},System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.Byte},System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.Int16},System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.UInt16},System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.Int32},System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.UInt32},System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.Int64},System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.GreaterThan(Discord.Optional{System.UInt64},System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be greater than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.SByte,System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.Byte,System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.Int16,System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.UInt16,System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.Int32,System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.UInt32,System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.Int64,System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(System.UInt64,System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.SByte},System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.Byte},System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.Int16},System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.UInt16},System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.Int32},System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.UInt32},System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.Int64},System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.AtMost(Discord.Optional{System.UInt64},System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be at most <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.SByte,System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.Byte,System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.Int16,System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.UInt16,System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.Int32,System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.UInt32,System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.Int64,System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(System.UInt64,System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.SByte},System.SByte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.Byte},System.Byte,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.Int16},System.Int16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.UInt16},System.UInt16,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.Int32},System.Int32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.UInt32},System.UInt32,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.Int64},System.Int64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.LessThan(Discord.Optional{System.UInt64},System.UInt64,System.String,System.String)">
            <exception cref="T:System.ArgumentException">Value must be less than <paramref name="value"/>.</exception>
        </member>
        <member name="M:Discord.Preconditions.YoungerThanTwoWeeks(System.UInt64[],System.String)">
            <exception cref="T:System.ArgumentOutOfRangeException">Messages are younger than 2 weeks.</exception>
        </member>
        <member name="M:Discord.Preconditions.NotEveryoneRole(System.UInt64[],System.UInt64,System.String)">
            <exception cref="T:System.ArgumentException">The everyone role cannot be assigned to a user.</exception>
        </member>
        <member name="T:Discord.SnowflakeUtils">
            <summary>
                Provides a series of helper methods for handling snowflake identifiers.
            </summary>
        </member>
        <member name="M:Discord.SnowflakeUtils.FromSnowflake(System.UInt64)">
            <summary>
                Resolves the time of which the snowflake is generated.
            </summary>
            <param name="value">The snowflake identifier to resolve.</param>
            <returns>
                A <see cref="T:System.DateTimeOffset" /> representing the time for when the object is geenrated.
            </returns>
        </member>
        <member name="M:Discord.SnowflakeUtils.ToSnowflake(System.DateTimeOffset)">
            <summary>
                Generates a pseudo-snowflake identifier with a <see cref="T:System.DateTimeOffset"/>.
            </summary>
            <param name="value">The time to be used in the new snowflake.</param>
            <returns>
                A <see cref="T:System.UInt64" /> representing the newly generated snowflake identifier.
            </returns>
        </member>
        <member name="T:Discord.TokenUtils">
            <summary>
                Provides a series of helper methods for handling Discord login tokens.
            </summary>
        </member>
        <member name="F:Discord.TokenUtils.MinBotTokenLength">
            <summary>
                The minimum length of a Bot token.
            </summary>
            <remarks>
                This value was determined by comparing against the examples in the Discord
                documentation, and pre-existing tokens.
            </remarks>
        </member>
        <member name="M:Discord.TokenUtils.PadBase64String(System.String)">
            <summary>
                Pads a base64-encoded string with 0, 1, or 2 '=' characters,
                if the string is not a valid multiple of 4.
                Does not ensure that the provided string contains only valid base64 characters.
                Strings that already contain padding will not have any more padding applied.
            </summary>
            <remarks>
                A string that would require 3 padding characters is considered to be already corrupt.
                Some older bot tokens may require padding, as the format provided by Discord
                does not include this padding in the token.
            </remarks>
            <param name="encodedBase64">The base64 encoded string to pad with characters.</param>
            <returns>A string containing the base64 padding.</returns>
            <exception cref="T:System.FormatException">
                Thrown if <paramref name="encodedBase64"/> would require an invalid number of padding characters.
            </exception>
            <exception cref="T:System.ArgumentNullException">
                Thrown if <paramref name="encodedBase64"/> is null, empty, or whitespace.
            </exception>
        </member>
        <member name="M:Discord.TokenUtils.DecodeBase64UserId(System.String)">
            <summary>
                Decodes a base 64 encoded string into a ulong value.
            </summary>
            <param name="encoded"> A base 64 encoded string containing a User Id.</param>
            <returns> A ulong containing the decoded value of the string, or null if the value was invalid. </returns>
        </member>
        <member name="M:Discord.TokenUtils.CheckBotTokenValidity(System.String)">
            <summary>
                Checks the validity of a bot token by attempting to decode a ulong userid
                from the bot token.
            </summary>
            <param name="message">
                The bot token to validate.
            </param>
            <returns>
                True if the bot token was valid, false if it was not.
            </returns>
        </member>
        <member name="F:Discord.TokenUtils.IllegalTokenCharacters">
            <summary>
                The set of all characters that are not allowed inside of a token.
            </summary>
        </member>
        <member name="M:Discord.TokenUtils.CheckContainsIllegalCharacters(System.String)">
            <summary>
                Checks if the given token contains a whitespace or newline character
                that would fail to log in.
            </summary>
            <param name="token"> The token to validate. </param>
            <returns>
                True if the token contains a whitespace or newline character.
            </returns>
        </member>
        <member name="M:Discord.TokenUtils.ValidateToken(Discord.TokenType,System.String)">
            <summary>
                Checks the validity of the supplied token of a specific type.
            </summary>
            <param name="tokenType"> The type of token to validate. </param>
            <param name="token"> The token value to validate. </param>
            <exception cref="T:System.ArgumentNullException"> Thrown when the supplied token string is <c>null</c>, empty, or contains only whitespace.</exception>
            <exception cref="T:System.ArgumentException"> Thrown when the supplied <see cref="T:Discord.TokenType"/> or token value is invalid. </exception>
        </member>
    </members>
</doc>
