* Fix ' />' caused by Agent Smith oddities * Fix styling to be more specific about the mention of IDspull/1161/head
| @@ -5,7 +5,7 @@ using System.Reflection; | |||
| namespace Discord.Commands | |||
| { | |||
| /// <summary> | |||
| /// Marks the <see cref="Type"/> to be read by the specified <see cref="TypeReader" />. | |||
| /// Marks the <see cref="Type"/> to be read by the specified <see cref="TypeReader"/>. | |||
| /// </summary> | |||
| [AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)] | |||
| public class OverrideTypeReaderAttribute : Attribute | |||
| @@ -19,7 +19,7 @@ namespace Discord.Commands | |||
| public ChannelPermission? ChannelPermission { get; } | |||
| /// <summary> | |||
| /// Requires the bot account to have a specific <see cref="Discord.GuildPermission" />. | |||
| /// Requires the bot account to have a specific <see cref="Discord.GuildPermission"/>. | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// This precondition will always fail if the command is being invoked in a <see cref="IPrivateChannel"/>. | |||
| @@ -19,7 +19,7 @@ namespace Discord.Commands | |||
| public ChannelPermission? ChannelPermission { get; } | |||
| /// <summary> | |||
| /// Requires that the user invoking the command to have a specific <see cref="Discord.GuildPermission" />. | |||
| /// Requires that the user invoking the command to have a specific <see cref="Discord.GuildPermission"/>. | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// This precondition will always fail if the command is being invoked in a <see cref="IPrivateChannel"/>. | |||
| @@ -41,17 +41,17 @@ namespace Discord.Commands | |||
| internal readonly IReadOnlyDictionary<char, char> _quotationMarkAliasMap; | |||
| /// <summary> | |||
| /// Represents all modules loaded within <see cref="CommandService" />. | |||
| /// Represents all modules loaded within <see cref="CommandService"/>. | |||
| /// </summary> | |||
| public IEnumerable<ModuleInfo> Modules => _moduleDefs.Select(x => x); | |||
| /// <summary> | |||
| /// Represents all commands loaded within <see cref="CommandService" />. | |||
| /// Represents all commands loaded within <see cref="CommandService"/>. | |||
| /// </summary> | |||
| public IEnumerable<CommandInfo> Commands => _moduleDefs.SelectMany(x => x.Commands); | |||
| /// <summary> | |||
| /// Represents all <see cref="TypeReader" /> loaded within <see cref="CommandService" />. | |||
| /// Represents all <see cref="TypeReader" /> loaded within <see cref="CommandService"/>. | |||
| /// </summary> | |||
| public ILookup<Type, TypeReader> TypeReaders => _typeReaders.SelectMany(x => x.Value.Select(y => new { y.Key, y.Value })).ToLookup(x => x.Key, x => x.Value); | |||
| @@ -130,30 +130,30 @@ namespace Discord.Commands | |||
| } | |||
| /// <summary> | |||
| /// Add a command module from a <see cref="Type" />. | |||
| /// Add a command module from a <see cref="Type"/>. | |||
| /// </summary> | |||
| /// <typeparam name="T">The type of module.</typeparam> | |||
| /// <param name="services"> | |||
| /// The <see cref="IServiceProvider" /> for your dependency injection solution, if using one - otherwise, pass | |||
| /// The <see cref="IServiceProvider"/> for your dependency injection solution if using one; otherwise, pass | |||
| /// <c>null</c>. | |||
| /// </param> | |||
| /// <returns> | |||
| /// A built module. | |||
| /// An awaitable <see cref="Task"/> containing the built module. | |||
| /// </returns> | |||
| /// <exception cref="ArgumentException">This module has already been added.</exception> | |||
| /// <exception cref="InvalidOperationException">The <see cref="ModuleInfo"/> fails to be built; an invalid type may have been provided.</exception> | |||
| public Task<ModuleInfo> AddModuleAsync<T>(IServiceProvider services) => AddModuleAsync(typeof(T), services); | |||
| /// <summary> | |||
| /// Adds a command module from a <see cref="Type" />. | |||
| /// Adds a command module from a <see cref="Type"/>. | |||
| /// </summary> | |||
| /// <param name="type">The type of module.</param> | |||
| /// <param name="services"> | |||
| /// The <see cref="IServiceProvider" /> for your dependency injection solution, if using one - otherwise, pass | |||
| /// The <see cref="IServiceProvider"/> for your dependency injection solution if using one; otherwise, pass | |||
| /// <c>null</c>. | |||
| /// </param> | |||
| /// <returns> | |||
| /// A built module. | |||
| /// An awaitable <see cref="Task"/> containing the built module. | |||
| /// </returns> | |||
| /// <exception cref="ArgumentException">This module has already been added.</exception> | |||
| /// <exception cref="InvalidOperationException">The <see cref="ModuleInfo"/> fails to be built; an invalid type may have been provided.</exception> | |||
| @@ -184,15 +184,15 @@ namespace Discord.Commands | |||
| } | |||
| } | |||
| /// <summary> | |||
| /// Add command modules from an <see cref="Assembly" />. | |||
| /// Add command modules from an <see cref="Assembly"/>. | |||
| /// </summary> | |||
| /// <param name="assembly">The <see cref="Assembly" /> containing command modules.</param> | |||
| /// <param name="services"> | |||
| /// An <see cref="IServiceProvider" /> for your dependency injection solution, if using one - otherwise, pass | |||
| /// The <see cref="IServiceProvider"/> for your dependency injection solution if using one; otherwise, pass | |||
| /// <c>null</c>. | |||
| /// </param> | |||
| /// <returns> | |||
| /// A collection of built modules. | |||
| /// An awaitable <see cref="Task"/> containing the built module. | |||
| /// </returns> | |||
| public async Task<IEnumerable<ModuleInfo>> AddModulesAsync(Assembly assembly, IServiceProvider services) | |||
| { | |||
| @@ -296,22 +296,24 @@ namespace Discord.Commands | |||
| //Type Readers | |||
| /// <summary> | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object type. | |||
| /// If <typeparamref name="T" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> will also be | |||
| /// added. | |||
| /// If a default <see cref="TypeReader" /> exists for <typeparamref name="T" />, a warning will be logged and the | |||
| /// default <see cref="TypeReader" /> will be replaced. | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object | |||
| /// type. | |||
| /// If <typeparamref name="T" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> will | |||
| /// also be added. | |||
| /// If a default <see cref="TypeReader" /> exists for <typeparamref name="T" />, a warning will be logged | |||
| /// and the default <see cref="TypeReader" /> will be replaced. | |||
| /// </summary> | |||
| /// <typeparam name="T">The object type to be read by the <see cref="TypeReader" />.</typeparam> | |||
| /// <typeparam name="T">The object type to be read by the <see cref="TypeReader"/>.</typeparam> | |||
| /// <param name="reader">An instance of the <see cref="TypeReader" /> to be added.</param> | |||
| public void AddTypeReader<T>(TypeReader reader) | |||
| => AddTypeReader(typeof(T), reader); | |||
| /// <summary> | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object type. | |||
| /// If <paramref name="type" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> for the value | |||
| /// type will also be added. | |||
| /// If a default <see cref="TypeReader" /> exists for <paramref name="type" />, a warning will be logged and the | |||
| /// default <see cref="TypeReader" /> will be replaced. | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object | |||
| /// type. | |||
| /// If <paramref name="type" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> for the | |||
| /// value type will also be added. | |||
| /// If a default <see cref="TypeReader" /> exists for <paramref name="type" />, a warning will be logged and | |||
| /// the default <see cref="TypeReader" /> will be replaced. | |||
| /// </summary> | |||
| /// <param name="type">A <see cref="Type" /> instance for the type to be read.</param> | |||
| /// <param name="reader">An instance of the <see cref="TypeReader" /> to be added.</param> | |||
| @@ -323,11 +325,12 @@ namespace Discord.Commands | |||
| AddTypeReader(type, reader, true); | |||
| } | |||
| /// <summary> | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object type. | |||
| /// If <typeparamref name="T" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> will also be | |||
| /// added. | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object | |||
| /// type. | |||
| /// If <typeparamref name="T" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> will | |||
| /// also be added. | |||
| /// </summary> | |||
| /// <typeparam name="T">The object type to be read by the <see cref="TypeReader" />.</typeparam> | |||
| /// <typeparam name="T">The object type to be read by the <see cref="TypeReader"/>.</typeparam> | |||
| /// <param name="reader">An instance of the <see cref="TypeReader" /> to be added.</param> | |||
| /// <param name="replaceDefault"> | |||
| /// Defines whether the <see cref="TypeReader"/> should replace the default one for | |||
| @@ -336,15 +339,16 @@ namespace Discord.Commands | |||
| public void AddTypeReader<T>(TypeReader reader, bool replaceDefault) | |||
| => AddTypeReader(typeof(T), reader, replaceDefault); | |||
| /// <summary> | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object type. | |||
| /// If <paramref name="type" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> for the value | |||
| /// type will also be added. | |||
| /// Adds a custom <see cref="TypeReader" /> to this <see cref="CommandService" /> for the supplied object | |||
| /// type. | |||
| /// If <paramref name="type" /> is a <see cref="ValueType" />, a nullable <see cref="TypeReader" /> for the | |||
| /// value type will also be added. | |||
| /// </summary> | |||
| /// <param name="type">A <see cref="Type" /> instance for the type to be read.</param> | |||
| /// <param name="reader">An instance of the <see cref="TypeReader" /> to be added.</param> | |||
| /// <param name="replaceDefault"> | |||
| /// Defines whether the <see cref="TypeReader"/> should replace the default one for | |||
| /// <see cref="Type" /> if it exists. | |||
| /// Defines whether the <see cref="TypeReader"/> should replace the default one for <see cref="Type" /> if | |||
| /// it exists. | |||
| /// </param> | |||
| public void AddTypeReader(Type type, TypeReader reader, bool replaceDefault) | |||
| { | |||
| @@ -4,7 +4,7 @@ using System.Collections.Generic; | |||
| namespace Discord.Commands | |||
| { | |||
| /// <summary> | |||
| /// Represents a configuration class for <see cref="CommandService" />. | |||
| /// Represents a configuration class for <see cref="CommandService"/>. | |||
| /// </summary> | |||
| public class CommandServiceConfig | |||
| { | |||
| @@ -16,7 +16,7 @@ namespace Discord.Commands | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// This object contains the information of a command. This can include the module of the command, various | |||
| /// descriptions regarding the command, and its <see cref="RunMode" />. | |||
| /// descriptions regarding the command, and its <see cref="RunMode"/>. | |||
| /// </remarks> | |||
| [DebuggerDisplay("{Name,nq}")] | |||
| public class CommandInfo | |||
| @@ -18,7 +18,7 @@ namespace Discord | |||
| /// Creates a <see cref="Game"/> with the provided <paramref name="name"/> and <see cref="ActivityType"/>. | |||
| /// </summary> | |||
| /// <param name="name">The name of the game.</param> | |||
| /// <param name="type">The type of activity. Default is <see cref="Discord.ActivityType.Playing" />.</param> | |||
| /// <param name="type">The type of activity. Default is <see cref="Discord.ActivityType.Playing"/>.</param> | |||
| public Game(string name, ActivityType type = ActivityType.Playing) | |||
| { | |||
| Name = name; | |||
| @@ -1,7 +1,7 @@ | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// Represents data applied to an <see cref="IAuditLogEntry" />. | |||
| /// Represents data applied to an <see cref="IAuditLogEntry"/>. | |||
| /// </summary> | |||
| public interface IAuditLogData | |||
| { } | |||
| @@ -1,7 +1,7 @@ | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// Properties that are used to reorder an <see cref="IGuildChannel" />. | |||
| /// Properties that are used to reorder an <see cref="IGuildChannel"/>. | |||
| /// </summary> | |||
| public class ReorderChannelProperties | |||
| { | |||
| @@ -9,11 +9,11 @@ namespace Discord | |||
| public class EmoteProperties | |||
| { | |||
| /// <summary> | |||
| /// Gets or sets the name of the <see cref="Emote" />. | |||
| /// Gets or sets the name of the <see cref="Emote"/>. | |||
| /// </summary> | |||
| public Optional<string> Name { get; set; } | |||
| /// <summary> | |||
| /// Gets or sets the roles that can access this <see cref="Emote" />. | |||
| /// Gets or sets the roles that can access this <see cref="Emote"/>. | |||
| /// </summary> | |||
| public Optional<IEnumerable<IRole>> Roles { get; set; } | |||
| } | |||
| @@ -11,7 +11,7 @@ namespace Discord | |||
| /// </summary> | |||
| public Stream Stream { get; } | |||
| /// <summary> | |||
| /// Create the image with a <see cref="System.IO.Stream" />. | |||
| /// Create the image with a <see cref="System.IO.Stream"/>. | |||
| /// </summary> | |||
| /// <param name="stream"> | |||
| /// The <see cref="System.IO.Stream" /> to create the image with. Note that this must be some type of stream | |||
| @@ -32,7 +32,7 @@ namespace Discord | |||
| /// <param name="path">The path to the file.</param> | |||
| /// <exception cref="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="Path.GetInvalidPathChars" />. | |||
| /// characters as defined by <see cref="Path.GetInvalidPathChars"/>. | |||
| /// </exception> | |||
| /// <exception cref="System.ArgumentNullException"><paramref name="path" /> is <c>null</c>.</exception> | |||
| /// <exception cref="PathTooLongException"> | |||
| @@ -6,7 +6,7 @@ using System.Linq; | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// Represents an embed object seen in an <see cref="IUserMessage" />. | |||
| /// Represents an embed object seen in an <see cref="IUserMessage"/>. | |||
| /// </summary> | |||
| [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | |||
| public class Embed : IEmbed | |||
| @@ -3,7 +3,7 @@ using System.Diagnostics; | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// A author field of an <see cref="Embed" />. | |||
| /// A author field of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | |||
| public struct EmbedAuthor | |||
| @@ -6,7 +6,7 @@ using System.Linq; | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// Represents a builder class for creating a <see cref="EmbedType.Rich"/> <see cref="Embed" />. | |||
| /// Represents a builder class for creating a <see cref="EmbedType.Rich"/> <see cref="Embed"/>. | |||
| /// </summary> | |||
| public class EmbedBuilder | |||
| { | |||
| @@ -122,28 +122,28 @@ namespace Discord | |||
| } | |||
| /// <summary> | |||
| /// Gets or sets the timestamp of an <see cref="Embed" />. | |||
| /// Gets or sets the timestamp of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// The timestamp of the embed, or <c>null</c> if none is set. | |||
| /// </returns> | |||
| public DateTimeOffset? Timestamp { get; set; } | |||
| /// <summary> | |||
| /// Gets or sets the sidebar color of an <see cref="Embed" />. | |||
| /// Gets or sets the sidebar color of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// The color of the embed, or <c>null</c> if none is set. | |||
| /// </returns> | |||
| public Color? Color { get; set; } | |||
| /// <summary> | |||
| /// Gets or sets the <see cref="EmbedAuthorBuilder" /> of an <see cref="Embed" />. | |||
| /// Gets or sets the <see cref="EmbedAuthorBuilder" /> of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// The author field builder of the embed, or <c>null</c> if none is set. | |||
| /// </returns> | |||
| public EmbedAuthorBuilder Author { get; set; } | |||
| /// <summary> | |||
| /// Gets or sets the <see cref="EmbedFooterBuilder" /> of an <see cref="Embed" />. | |||
| /// Gets or sets the <see cref="EmbedFooterBuilder" /> of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// The footer field builder of the embed, or <c>null</c> if none is set. | |||
| @@ -172,7 +172,7 @@ namespace Discord | |||
| } | |||
| /// <summary> | |||
| /// Sets the title of an <see cref="Embed" />. | |||
| /// Sets the title of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <param name="title">The title to be set.</param> | |||
| /// <returns> | |||
| @@ -220,7 +220,7 @@ namespace Discord | |||
| return this; | |||
| } | |||
| /// <summary> | |||
| /// Sets the image URL of an <see cref="Embed" />. | |||
| /// Sets the image URL of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <param name="imageUrl">The image URL to be set.</param> | |||
| /// <returns> | |||
| @@ -243,7 +243,7 @@ namespace Discord | |||
| return this; | |||
| } | |||
| /// <summary> | |||
| /// Sets the timestamp of an <see cref="Embed" />. | |||
| /// Sets the timestamp of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <param name="dateTimeOffset">The timestamp to be set.</param> | |||
| /// <returns> | |||
| @@ -255,7 +255,7 @@ namespace Discord | |||
| return this; | |||
| } | |||
| /// <summary> | |||
| /// Sets the sidebar color of an <see cref="Embed" />. | |||
| /// Sets the sidebar color of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <param name="color">The color to be set.</param> | |||
| /// <returns> | |||
| @@ -268,7 +268,7 @@ namespace Discord | |||
| } | |||
| /// <summary> | |||
| /// Sets the <see cref="EmbedAuthorBuilder" /> of an <see cref="Embed" />. | |||
| /// Sets the <see cref="EmbedAuthorBuilder" /> of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <param name="author">The author builder class containing the author field properties.</param> | |||
| /// <returns> | |||
| @@ -314,7 +314,7 @@ namespace Discord | |||
| return this; | |||
| } | |||
| /// <summary> | |||
| /// Sets the <see cref="EmbedFooterBuilder" /> of an <see cref="Embed" />. | |||
| /// Sets the <see cref="EmbedFooterBuilder" /> of an <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <param name="footer">The footer builder class containing the footer field properties.</param> | |||
| /// <returns> | |||
| @@ -379,7 +379,7 @@ namespace Discord | |||
| /// <summary> | |||
| /// Adds a field with the provided <see cref="EmbedFieldBuilder" /> to an | |||
| /// <see cref="Embed" />. | |||
| /// <see cref="Embed"/>. | |||
| /// </summary> | |||
| /// <param name="field">The field builder class containing the field properties.</param> | |||
| /// <exception cref="ArgumentException">Field count exceeds <see cref="MaxFieldCount"/>.</exception> | |||
| @@ -564,7 +564,7 @@ namespace Discord | |||
| /// Gets or sets the author name. | |||
| /// </summary> | |||
| /// <exception cref="ArgumentException"> | |||
| /// Author name length is longer than <see cref="MaxAuthorNameLength" />. | |||
| /// Author name length is longer than <see cref="MaxAuthorNameLength"/>. | |||
| /// </exception> | |||
| /// <returns> | |||
| /// The author name. | |||
| @@ -652,11 +652,11 @@ namespace Discord | |||
| /// Builds the author field to be used. | |||
| /// </summary> | |||
| /// <exception cref="ArgumentException"> | |||
| /// <para>Author name length is longer than <see cref="MaxAuthorNameLength" />.</para> | |||
| /// <para>Author name length is longer than <see cref="MaxAuthorNameLength"/>.</para> | |||
| /// <para><c>- or -</c></para> | |||
| /// <para><see cref="Url"/> is not a well-formed <see cref="Uri" />.</para> | |||
| /// <para><see cref="Url"/> is not a well-formed <see cref="Uri"/>.</para> | |||
| /// <para><c>- or -</c></para> | |||
| /// <para><see cref="IconUrl"/> is not a well-formed <see cref="Uri" />.</para> | |||
| /// <para><see cref="IconUrl"/> is not a well-formed <see cref="Uri"/>.</para> | |||
| /// </exception> | |||
| /// <returns> | |||
| /// The built author field. | |||
| @@ -682,7 +682,7 @@ namespace Discord | |||
| /// Gets or sets the footer text. | |||
| /// </summary> | |||
| /// <exception cref="ArgumentException"> | |||
| /// Author name length is longer than <see cref="MaxFooterTextLength" />. | |||
| /// Author name length is longer than <see cref="MaxFooterTextLength"/>. | |||
| /// </exception> | |||
| /// <returns> | |||
| /// The footer text. | |||
| @@ -743,7 +743,7 @@ namespace Discord | |||
| /// </summary> | |||
| /// <returns></returns> | |||
| /// <exception cref="ArgumentException"> | |||
| /// <para><see cref="Text"/> length is longer than <see cref="MaxFooterTextLength" />.</para> | |||
| /// <para><see cref="Text"/> length is longer than <see cref="MaxFooterTextLength"/>.</para> | |||
| /// <para><c>- or -</c></para> | |||
| /// <para><see cref="IconUrl"/> is not a well-formed <see cref="Uri"/>.</para> | |||
| /// </exception> | |||
| @@ -3,7 +3,7 @@ using System.Diagnostics; | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// A field for an <see cref="Embed" />. | |||
| /// A field for an <see cref="Embed"/>. | |||
| /// </summary> | |||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | |||
| public struct EmbedField | |||
| @@ -3,7 +3,7 @@ using System.Diagnostics; | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// A video featured in an <see cref="Embed" />. | |||
| /// A video featured in an <see cref="Embed"/>. | |||
| /// </summary> | |||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | |||
| public struct EmbedVideo | |||
| @@ -23,11 +23,11 @@ namespace Discord | |||
| => new OverwritePermissions(0, ChannelPermissions.All(channel).RawValue); | |||
| /// <summary> | |||
| /// Gets a packed value representing all the allowed permissions in this <see cref="OverwritePermissions" />. | |||
| /// Gets a packed value representing all the allowed permissions in this <see cref="OverwritePermissions"/>. | |||
| /// </summary> | |||
| public ulong AllowValue { get; } | |||
| /// <summary> | |||
| /// Gets a packed value representing all the denied permissions in this <see cref="OverwritePermissions" />. | |||
| /// Gets a packed value representing all the denied permissions in this <see cref="OverwritePermissions"/>. | |||
| /// </summary> | |||
| public ulong DenyValue { get; } | |||
| @@ -1,7 +1,7 @@ | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// Properties that are used to reorder an <see cref="IRole" />. | |||
| /// Properties that are used to reorder an <see cref="IRole"/>. | |||
| /// </summary> | |||
| public class ReorderRoleProperties | |||
| { | |||
| @@ -14,7 +14,7 @@ namespace Discord | |||
| /// </remarks> | |||
| public Optional<string> Name { get; set; } | |||
| /// <summary> | |||
| /// Gets or sets the role's <see cref="GuildPermission" />. | |||
| /// Gets or sets the role's <see cref="GuildPermission"/>. | |||
| /// </summary> | |||
| public Optional<GuildPermissions> Permissions { get; set; } | |||
| /// <summary> | |||
| @@ -27,7 +27,7 @@ namespace Discord | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// To clear the user's nickname, this value can be set to <c>null</c> or | |||
| /// <see cref="string.Empty" />. | |||
| /// <see cref="string.Empty"/>. | |||
| /// </remarks> | |||
| public Optional<string> Nickname { get; set; } | |||
| /// <summary> | |||
| @@ -18,14 +18,14 @@ namespace Discord | |||
| /// Gets or sets the channel for this webhook. | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// This field is not used when authenticated with <see cref="Discord.TokenType.Webhook" />. | |||
| /// This field is not used when authenticated with <see cref="Discord.TokenType.Webhook"/>. | |||
| /// </remarks> | |||
| public Optional<ITextChannel> Channel { get; set; } | |||
| /// <summary> | |||
| /// Gets or sets the channel ID for this webhook. | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// This field is not used when authenticated with <see cref="Discord.TokenType.Webhook" />. | |||
| /// This field is not used when authenticated with <see cref="Discord.TokenType.Webhook"/>. | |||
| /// </remarks> | |||
| public Optional<ulong> ChannelId { get; set; } | |||
| } | |||
| @@ -47,7 +47,7 @@ namespace Discord | |||
| /// <summary> | |||
| /// Initializes a new <see cref="RequestOptions" /> class with the default request timeout set in | |||
| /// <see cref="DiscordConfig" />. | |||
| /// <see cref="DiscordConfig"/>. | |||
| /// </summary> | |||
| public RequestOptions() | |||
| { | |||
| @@ -3,7 +3,7 @@ using Discord.Net.Rest; | |||
| namespace Discord.Rest | |||
| { | |||
| /// <summary> | |||
| /// Represents a configuration class for <see cref="DiscordRestClient" />. | |||
| /// Represents a configuration class for <see cref="DiscordRestClient"/>. | |||
| /// </summary> | |||
| public class DiscordRestConfig : DiscordConfig | |||
| { | |||
| @@ -71,7 +71,7 @@ namespace Discord.Rest | |||
| /// Gets a collection of permission overwrites that was assigned to the created channel. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// A collection of permission <see cref="Overwrite" />. | |||
| /// A collection of permission <see cref="Overwrite"/>. | |||
| /// </returns> | |||
| public IReadOnlyCollection<Overwrite> Overwrites { get; } | |||
| } | |||
| @@ -62,7 +62,7 @@ namespace Discord.Rest | |||
| /// Gets a collection of permission overwrites that was assigned to the deleted channel. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// A collection of permission <see cref="Overwrite" />. | |||
| /// A collection of permission <see cref="Overwrite"/>. | |||
| /// </returns> | |||
| public IReadOnlyCollection<Overwrite> Overwrites { get; } | |||
| } | |||
| @@ -164,7 +164,7 @@ namespace Discord.Rest | |||
| /// <exception cref="ArgumentException"> | |||
| /// <paramref name="filePath" /> is a zero-length string, contains only white space, or contains one or more | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars" />. | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars"/>. | |||
| /// </exception> | |||
| /// <exception cref="ArgumentNullException"> | |||
| /// <paramref name="filePath" /> is <c>null</c>. | |||
| @@ -81,7 +81,7 @@ namespace Discord.Rest | |||
| /// <inheritdoc /> | |||
| /// <exception cref="ArgumentException"> | |||
| /// <paramref name="filePath" /> is a zero-length string, contains only white space, or contains one or more | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars" />. | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars"/>. | |||
| /// </exception> | |||
| /// <exception cref="ArgumentNullException"> | |||
| /// <paramref name="filePath" /> is <c>null</c>. | |||
| @@ -98,7 +98,7 @@ namespace Discord.Rest | |||
| /// <inheritdoc /> | |||
| /// <exception cref="ArgumentException"> | |||
| /// <paramref name="filePath" /> is a zero-length string, contains only white space, or contains one or more | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars" />. | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars"/>. | |||
| /// </exception> | |||
| /// <exception cref="ArgumentNullException"> | |||
| /// <paramref name="filePath" /> is <c>null</c>. | |||
| @@ -79,7 +79,7 @@ namespace Discord.Rest | |||
| /// <inheritdoc /> | |||
| /// <exception cref="ArgumentException"> | |||
| /// <paramref name="filePath" /> is a zero-length string, contains only white space, or contains one or more | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars" />. | |||
| /// invalid characters as defined by <see cref="System.IO.Path.GetInvalidPathChars"/>. | |||
| /// </exception> | |||
| /// <exception cref="ArgumentNullException"> | |||
| /// <paramref name="filePath" /> is <c>null</c>. | |||
| @@ -4,7 +4,7 @@ using Model = Discord.API.Attachment; | |||
| namespace Discord | |||
| { | |||
| /// <summary> | |||
| /// An attachment file seen in a <see cref="IUserMessage" />. | |||
| /// An attachment file seen in a <see cref="IUserMessage"/>. | |||
| /// </summary> | |||
| [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | |||
| public class Attachment : IAttachment | |||
| @@ -107,18 +107,19 @@ namespace Discord.WebSocket | |||
| /// <summary> | |||
| /// Gets a channel. | |||
| /// </summary> | |||
| /// <param name="id">The channel snowflake ID.</param> | |||
| /// <param name="id">The channel snowflake identifier.</param> | |||
| /// <returns> | |||
| /// A generic WebSocket-based channel object (voice, text, category, etc.); <c>null</c> when the | |||
| /// channel cannot be found. | |||
| /// A generic WebSocket-based channel object (voice, text, category, etc.) associated with the identifier; | |||
| /// <c>null</c> when the channel cannot be found. | |||
| /// </returns> | |||
| public abstract SocketChannel GetChannel(ulong id); | |||
| /// <summary> | |||
| /// Gets a guild. | |||
| /// </summary> | |||
| /// <param name="id">The guild snowflake ID.</param> | |||
| /// <param name="id">The guild snowflake identifier.</param> | |||
| /// <returns> | |||
| /// A WebSocket-based guild; <c>null</c> when the guild cannot be found. | |||
| /// A WebSocket-based guild associated with the snowflake identifier; <c>null</c> when the guild cannot be | |||
| /// found. | |||
| /// </returns> | |||
| public abstract SocketGuild GetGuild(ulong id); | |||
| /// <summary> | |||
| @@ -5,7 +5,7 @@ using Discord.Rest; | |||
| namespace Discord.WebSocket | |||
| { | |||
| /// <summary> | |||
| /// Represents a configuration class for <see cref="DiscordSocketClient" />. | |||
| /// Represents a configuration class for <see cref="DiscordSocketClient"/>. | |||
| /// </summary> | |||
| public class DiscordSocketConfig : DiscordRestConfig | |||
| { | |||
| @@ -48,11 +48,11 @@ namespace Discord.WebSocket | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// This method does NOT attempt to fetch the user if they don't exist in the cache. To guarantee a return | |||
| /// from an existing user that doesn't exist in cache, use <see cref="Rest.DiscordRestClient.GetUserAsync" />. | |||
| /// from an existing user that doesn't exist in cache, use <see cref="Rest.DiscordRestClient.GetUserAsync"/>. | |||
| /// </remarks> | |||
| /// <param name="id">The ID of the user.</param> | |||
| /// <param name="id">The snowflake identifier of the user.</param> | |||
| /// <returns> | |||
| /// The user. | |||
| /// A user object associated with the snowflake identifier. | |||
| /// </returns> | |||
| public SocketUser GetUser(ulong id) => GetUserInternal(id); | |||
| internal abstract SocketUser GetUserInternal(ulong id); | |||
| @@ -142,9 +142,9 @@ namespace Discord.WebSocket | |||
| /// </summary> | |||
| /// <remarks> | |||
| /// This method does NOT attempt to fetch the user if they don't exist in the cache. To guarantee a return | |||
| /// from an existing user that doesn't exist in cache, use <see cref="DiscordRestClient.GetUserAsync" />. | |||
| /// from an existing user that doesn't exist in cache, use <see cref="DiscordRestClient.GetUserAsync"/>. | |||
| /// </remarks> | |||
| /// <param name="id">The ID of the user.</param> | |||
| /// <param name="id">The snowflake identifier of the user.</param> | |||
| /// <returns> | |||
| /// The user in the group. | |||
| /// </returns> | |||
| @@ -155,21 +155,21 @@ namespace Discord.WebSocket | |||
| public Task<RestWebhook> CreateWebhookAsync(string name, Stream avatar = null, RequestOptions options = null) | |||
| => ChannelHelper.CreateWebhookAsync(this, Discord, name, avatar, options); | |||
| /// <summary> | |||
| /// Gets the webhook in this text channel with the provided ID. | |||
| /// Gets a webhook available in this text channel. | |||
| /// </summary> | |||
| /// <param name="id">The ID of the webhook.</param> | |||
| /// <param name="id">The identifier of the webhook.</param> | |||
| /// <param name="options">The options to be used when sending the request.</param> | |||
| /// <returns> | |||
| /// A webhook associated with the <paramref name="id"/>, or <c>null</c> if not found. | |||
| /// An awaitable <see cref="Task"/> webhook associated with the identifier, or <c>null</c> if not found. | |||
| /// </returns> | |||
| public Task<RestWebhook> GetWebhookAsync(ulong id, RequestOptions options = null) | |||
| => ChannelHelper.GetWebhookAsync(this, Discord, id, options); | |||
| /// <summary> | |||
| /// Gets the webhooks for this text channel. | |||
| /// Gets the webhooks available in this text channel. | |||
| /// </summary> | |||
| /// <param name="options">The options to be used when sending the request.</param> | |||
| /// <returns> | |||
| /// A collection of webhooks. | |||
| /// An awaitable <see cref="Task"/> collection of webhooks. | |||
| /// </returns> | |||
| public Task<IReadOnlyCollection<RestWebhook>> GetWebhooksAsync(RequestOptions options = null) | |||
| => ChannelHelper.GetWebhooksAsync(this, Discord, options); | |||
| @@ -530,7 +530,7 @@ namespace Discord.WebSocket | |||
| /// </summary> | |||
| /// <param name="options">The options to be used when sending the request.</param> | |||
| /// <returns> | |||
| /// A collection of invites. | |||
| /// An awaitable <see cref="Task"/> containing a collection of invites. | |||
| /// </returns> | |||
| public Task<IReadOnlyCollection<RestInviteMetadata>> GetInvitesAsync(RequestOptions options = null) | |||
| => GuildHelper.GetInvitesAsync(this, Discord, options); | |||
| @@ -11,7 +11,7 @@ namespace Discord.WebSocket | |||
| /// Gets the ID of the user who added the reaction. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// A user snowflake ID. | |||
| /// A user snowflake identifier associated with the user. | |||
| /// </returns> | |||
| public ulong UserId { get; } | |||
| /// <summary> | |||
| @@ -25,15 +25,16 @@ namespace Discord.WebSocket | |||
| /// Gets the ID of the message that has been reacted to. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// A message snowflake ID. | |||
| /// A message snowflake identifier associated with the message. | |||
| /// </returns> | |||
| public ulong MessageId { get; } | |||
| /// <summary> | |||
| /// Gets the message that has been reacted to if possible. | |||
| /// </summary> | |||
| /// <returns> | |||
| /// A WebSocket-based message where possible. This value is not always returned. | |||
| /// A WebSocket-based message where possible; a value is not always returned. | |||
| /// </returns> | |||
| /// <seealso cref="Optional{T}"/> | |||
| public Optional<SocketUserMessage> Message { get; } | |||
| /// <summary> | |||
| /// Gets the channel where the reaction takes place in. | |||