| @@ -7,7 +7,7 @@ namespace Discord.Commands | |||||
| public class CommandAttribute : Attribute | public class CommandAttribute : Attribute | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Specifies the text required to be recognized as a command. | |||||
| /// Gets the text that has been set to be recognized as a command. | |||||
| /// </summary> | /// </summary> | ||||
| public string Text { get; } | public string Text { get; } | ||||
| /// <summary> | /// <summary> | ||||
| @@ -2,6 +2,7 @@ using System; | |||||
| namespace Discord.Commands | namespace Discord.Commands | ||||
| { | { | ||||
| /// <summary> Prevents the module from being loaded automatically. </summary> | |||||
| [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] | ||||
| public class DontAutoLoadAttribute : Attribute | public class DontAutoLoadAttribute : Attribute | ||||
| { | { | ||||
| @@ -2,6 +2,7 @@ using System; | |||||
| namespace Discord.Commands { | namespace Discord.Commands { | ||||
| /// <summary> Prevents the property from being injected into a module. </summary> | |||||
| [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] | ||||
| public class DontInjectAttribute : Attribute { | public class DontInjectAttribute : Attribute { | ||||
| } | } | ||||
| @@ -4,7 +4,7 @@ using System.Threading.Tasks; | |||||
| namespace Discord.Commands | namespace Discord.Commands | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// This attribute requires the bot to have a specific permission in the channel a command is invoked in. | |||||
| /// Requires the bot to have a specific permission in the channel a command is invoked in. | |||||
| /// </summary> | /// </summary> | ||||
| [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | ||||
| public class RequireBotPermissionAttribute : PreconditionAttribute | public class RequireBotPermissionAttribute : PreconditionAttribute | ||||
| @@ -13,7 +13,7 @@ namespace Discord.Commands | |||||
| public ChannelPermission? ChannelPermission { get; } | public ChannelPermission? ChannelPermission { get; } | ||||
| /// <summary> | /// <summary> | ||||
| /// Requires that the bot account to have a specific <see cref="GuildPermission"/>. | |||||
| /// Requires the bot account to have a specific <see cref="GuildPermission"/>. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks>This precondition will always fail if the command is being invoked in a private channel.</remarks> | /// <remarks>This precondition will always fail if the command is being invoked in a private channel.</remarks> | ||||
| /// <param name="permission">The GuildPermission that the bot must have. Multiple permissions can be specified by ORing the permissions together.</param> | /// <param name="permission">The GuildPermission that the bot must have. Multiple permissions can be specified by ORing the permissions together.</param> | ||||
| @@ -13,7 +13,7 @@ namespace Discord.Commands | |||||
| } | } | ||||
| /// <summary> | /// <summary> | ||||
| /// This attribute requires that the command be invoked in a specified context. (e.g. in guild, DM) | |||||
| /// Requires the command to be invoked in a specified context. (e.g. in guild, DM) | |||||
| /// </summary> | /// </summary> | ||||
| [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | ||||
| public class RequireContextAttribute : PreconditionAttribute | public class RequireContextAttribute : PreconditionAttribute | ||||
| @@ -4,7 +4,7 @@ using System.Threading.Tasks; | |||||
| namespace Discord.Commands | namespace Discord.Commands | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// This attribute requires that the command to be invoked in a channel marked NSFW. | |||||
| /// Requires the command to be invoked in a channel marked NSFW. | |||||
| /// </summary> | /// </summary> | ||||
| [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | ||||
| public class RequireNsfwAttribute : PreconditionAttribute | public class RequireNsfwAttribute : PreconditionAttribute | ||||
| @@ -4,7 +4,7 @@ using System.Threading.Tasks; | |||||
| namespace Discord.Commands | namespace Discord.Commands | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// This attribute requires that the command to be invoked by the owner of the bot. | |||||
| /// Requires the command to be invoked by the owner of the bot. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks>This precondition will only work if the bot is a bot account.</remarks> | /// <remarks>This precondition will only work if the bot is a bot account.</remarks> | ||||
| [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | ||||
| @@ -4,7 +4,7 @@ using System.Threading.Tasks; | |||||
| namespace Discord.Commands | namespace Discord.Commands | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// This attribute requires that the user invoking the command has a specified permission. | |||||
| /// Requires the user invoking the command to have a specified permission. | |||||
| /// </summary> | /// </summary> | ||||
| [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] | ||||
| public class RequireUserPermissionAttribute : PreconditionAttribute | public class RequireUserPermissionAttribute : PreconditionAttribute | ||||
| @@ -2,11 +2,11 @@ using System; | |||||
| namespace Discord.Commands | namespace Discord.Commands | ||||
| { | { | ||||
| /// <summary> Sets priority of commands </summary> | |||||
| /// <summary> Sets priority of commands. </summary> | |||||
| [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] | [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)] | ||||
| public class PriorityAttribute : Attribute | public class PriorityAttribute : Attribute | ||||
| { | { | ||||
| /// <summary> The priority which has been set for the command </summary> | |||||
| /// <summary> Gets the priority which has been set for the command. </summary> | |||||
| public int Priority { get; } | public int Priority { get; } | ||||
| /// <summary> Creates a new <see cref="PriorityAttribute"/> with the given priority. </summary> | /// <summary> Creates a new <see cref="PriorityAttribute"/> with the given priority. </summary> | ||||
| @@ -1,10 +1,15 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the connection state of a client. </summary> | |||||
| public enum ConnectionState : byte | public enum ConnectionState : byte | ||||
| { | { | ||||
| /// <summary> Represents that the client has disconnected from the WebSocket. </summary> | |||||
| Disconnected, | Disconnected, | ||||
| /// <summary> Represents that the client is connecting to the WebSocket. </summary> | |||||
| Connecting, | Connecting, | ||||
| /// <summary> Represents that the client has established a connection to the WebSocket. </summary> | |||||
| Connected, | Connected, | ||||
| /// <summary> Represents that the client is disconnecting from the WebSocket. </summary> | |||||
| Disconnecting | Disconnecting | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,17 +1,15 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> | |||||
| /// Defines user's activity type. | |||||
| /// </summary> | |||||
| /// <summary> Specifies a Discord user's activity type. </summary> | |||||
| public enum ActivityType | public enum ActivityType | ||||
| { | { | ||||
| /// <summary> Activity that represents a user that is playing a game. </summary> | |||||
| /// <summary> Represents that the user is playing a game. </summary> | |||||
| Playing = 0, | Playing = 0, | ||||
| /// <summary> Activity that represents a user that is streaming online. </summary> | |||||
| /// <summary> Represents that the user is streaming online. </summary> | |||||
| Streaming = 1, | Streaming = 1, | ||||
| /// <summary> Activity that represents a user that is listening to a song. </summary> | |||||
| /// <summary> Represents that the user is listening to a song. </summary> | |||||
| Listening = 2, | Listening = 2, | ||||
| /// <summary> Activity that represents a user that is watching a media. </summary> | |||||
| /// <summary> Represents that the user is watching a media. </summary> | |||||
| Watching = 3 | Watching = 3 | ||||
| } | } | ||||
| } | } | ||||
| @@ -2,10 +2,13 @@ using System.Diagnostics; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A user's game activity. </summary> | |||||
| [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
| public class Game : IActivity | public class Game : IActivity | ||||
| { | { | ||||
| /// <inheritdoc/> | |||||
| public string Name { get; internal set; } | public string Name { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public ActivityType Type { get; internal set; } | public ActivityType Type { get; internal set; } | ||||
| internal Game() { } | internal Game() { } | ||||
| @@ -1,6 +1,6 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> The asset for a <see cref="RichGame"/> object. </summary> | |||||
| /// <summary> An asset for a <see cref="RichGame"/> object. </summary> | |||||
| public class GameAsset | public class GameAsset | ||||
| { | { | ||||
| internal GameAsset() { } | internal GameAsset() { } | ||||
| @@ -2,7 +2,7 @@ using System; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> The timestamps for a <see cref="RichGame"/> object. </summary> | |||||
| /// <summary> Timestamps for a <see cref="RichGame"/> object. </summary> | |||||
| public class GameTimestamps | public class GameTimestamps | ||||
| { | { | ||||
| public DateTimeOffset? Start { get; } | public DateTimeOffset? Start { get; } | ||||
| @@ -1,8 +1,11 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> A Discord activity. </summary> | |||||
| public interface IActivity | public interface IActivity | ||||
| { | { | ||||
| /// <summary> Gets the name of the activity. </summary> | |||||
| string Name { get; } | string Name { get; } | ||||
| /// <summary> Gets the type of the activity. </summary> | |||||
| ActivityType Type { get; } | ActivityType Type { get; } | ||||
| } | } | ||||
| } | } | ||||
| @@ -4,19 +4,28 @@ using System.Diagnostics; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A user's activity for listening to a song on Spotify. </summary> | |||||
| [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
| public class SpotifyGame : Game | public class SpotifyGame : Game | ||||
| { | { | ||||
| /// <summary> Gets the song's artist(s). </summary> | |||||
| public IEnumerable<string> Artists { get; internal set; } | public IEnumerable<string> Artists { get; internal set; } | ||||
| /// <summary> Gets the Spotify album art for the song. </summary> | |||||
| public string AlbumArt { get; internal set; } | public string AlbumArt { get; internal set; } | ||||
| /// <summary> Gets the Spotify album title for the song. </summary> | |||||
| public string AlbumTitle { get; internal set; } | public string AlbumTitle { get; internal set; } | ||||
| /// <summary> Gets the track title for the song. </summary> | |||||
| public string TrackTitle { get; internal set; } | public string TrackTitle { get; internal set; } | ||||
| /// <summary> Gets the synchronization ID for the song. </summary> | |||||
| public string SyncId { get; internal set; } | public string SyncId { get; internal set; } | ||||
| /// <summary> Gets the session ID for the song. </summary> | |||||
| public string SessionId { get; internal set; } | public string SessionId { get; internal set; } | ||||
| /// <summary> Gets the duration for the song. </summary> | |||||
| public TimeSpan? Duration { get; internal set; } | public TimeSpan? Duration { get; internal set; } | ||||
| internal SpotifyGame() { } | internal SpotifyGame() { } | ||||
| /// <summary> Gets the name of the song. </summary> | |||||
| public override string ToString() => Name; | public override string ToString() => Name; | ||||
| private string DebuggerDisplay => $"{Name} (Spotify)"; | private string DebuggerDisplay => $"{Name} (Spotify)"; | ||||
| } | } | ||||
| @@ -1,10 +1,12 @@ | |||||
| using System.Diagnostics; | |||||
| using System.Diagnostics; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A user's activity for streaming on services such as Twitch. </summary> | |||||
| [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
| public class StreamingGame : Game | public class StreamingGame : Game | ||||
| { | { | ||||
| /// <summary> Gets the URL of the stream. </summary> | |||||
| public string Url { get; internal set; } | public string Url { get; internal set; } | ||||
| public StreamingGame(string name, string url) | public StreamingGame(string name, string url) | ||||
| @@ -14,7 +16,8 @@ namespace Discord | |||||
| Type = ActivityType.Streaming; | Type = ActivityType.Streaming; | ||||
| } | } | ||||
| /// <summary> Gets the name of the stream. </summary> | |||||
| public override string ToString() => Name; | public override string ToString() => Name; | ||||
| private string DebuggerDisplay => $"{Name} ({Url})"; | private string DebuggerDisplay => $"{Name} ({Url})"; | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Specifies the cache mode that should be used. </summary> | |||||
| public enum CacheMode | public enum CacheMode | ||||
| { | { | ||||
| /// <summary> Allows the object to be downloaded if it does not exist in the current cache. </summary> | /// <summary> Allows the object to be downloaded if it does not exist in the current cache. </summary> | ||||
| @@ -1,9 +1,13 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the direction of where message(s) should be gotten from. </summary> | |||||
| public enum Direction | public enum Direction | ||||
| { | { | ||||
| /// <summary> The message(s) should be retrieved before a message. </summary> | |||||
| Before, | Before, | ||||
| /// <summary> The message(s) should be retrieved after a message. </summary> | |||||
| After, | After, | ||||
| /// <summary> The message(s) should be retrieved around a message. </summary> | |||||
| Around | Around | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the default message notification behavior the guild uses. </summary> | |||||
| public enum DefaultMessageNotifications | public enum DefaultMessageNotifications | ||||
| { | { | ||||
| /// <summary> By default, all messages will trigger notifications. </summary> | /// <summary> By default, all messages will trigger notifications. </summary> | ||||
| @@ -1,7 +1,7 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Properties that are used to modify the widget of an <see cref="IGuild"/> with the specified parameters. | |||||
| /// Properties that are used to modify the widget of an <see cref="IGuild"/> with the specified changes. | |||||
| /// </summary> | /// </summary> | ||||
| public class GuildEmbedProperties | public class GuildEmbedProperties | ||||
| { | { | ||||
| @@ -1,9 +1,13 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Properties used to modify an <see cref="IGuildIntegration"/> with the specified changes.</summary> | |||||
| public class GuildIntegrationProperties | public class GuildIntegrationProperties | ||||
| { | { | ||||
| /// <summary> Gets or sets the behavior when an integration subscription lapses. </summary> | |||||
| public Optional<int> ExpireBehavior { get; set; } | public Optional<int> ExpireBehavior { get; set; } | ||||
| /// <summary> Gets or sets the period (in seconds) where the integration will ignore lapsed subscriptions. </summary> | |||||
| public Optional<int> ExpireGracePeriod { get; set; } | public Optional<int> ExpireGracePeriod { get; set; } | ||||
| /// <summary> Gets or sets whether emoticons should be synced for this integration. </summary> | |||||
| public Optional<bool> EnableEmoticons { get; set; } | public Optional<bool> EnableEmoticons { get; set; } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the guild's Multi-Factor Authentication (MFA) level requirement. </summary> | |||||
| public enum MfaLevel | public enum MfaLevel | ||||
| { | { | ||||
| /// <summary> Users have no additional MFA restriction on this guild. </summary> | /// <summary> Users have no additional MFA restriction on this guild. </summary> | ||||
| @@ -1,8 +1,11 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the target of the permission. </summary> | |||||
| public enum PermissionTarget | public enum PermissionTarget | ||||
| { | { | ||||
| /// <summary> The target of the permission is a role. </summary> | |||||
| Role, | Role, | ||||
| /// <summary> The target of the permission is a user. </summary> | |||||
| User | User | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the verification level the guild uses. </summary> | |||||
| public enum VerificationLevel | public enum VerificationLevel | ||||
| { | { | ||||
| /// <summary> Users have no additional restrictions on sending messages to this guild. </summary> | /// <summary> Users have no additional restrictions on sending messages to this guild. </summary> | ||||
| @@ -1,7 +1,8 @@ | |||||
| using System.Threading.Tasks; | |||||
| using System.Threading.Tasks; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Represents whether the object is deletable or not. </summary> | |||||
| public interface IDeletable | public interface IDeletable | ||||
| { | { | ||||
| /// <summary> Deletes this object and all its children. </summary> | /// <summary> Deletes this object and all its children. </summary> | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Represents whether the object is mentionable or not. </summary> | |||||
| public interface IMentionable | public interface IMentionable | ||||
| { | { | ||||
| /// <summary> Returns a special string used to mention this object. </summary> | /// <summary> Returns a special string used to mention this object. </summary> | ||||
| @@ -2,6 +2,7 @@ using System; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Represents a Discord snowflake entity. </summary> | |||||
| public interface ISnowflakeEntity : IEntity<ulong> | public interface ISnowflakeEntity : IEntity<ulong> | ||||
| { | { | ||||
| DateTimeOffset CreatedAt { get; } | DateTimeOffset CreatedAt { get; } | ||||
| @@ -1,7 +1,8 @@ | |||||
| using System.Threading.Tasks; | |||||
| using System.Threading.Tasks; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Represents whether the object is updatable or not. </summary> | |||||
| public interface IUpdateable | public interface IUpdateable | ||||
| { | { | ||||
| /// <summary> Updates this object's properties with its current state. </summary> | /// <summary> Updates this object's properties with its current state. </summary> | ||||
| @@ -1,6 +1,6 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> The type of format for the image to return. </summary> | |||||
| /// <summary> Specifies the type of format the image should return in. </summary> | |||||
| public enum ImageFormat | public enum ImageFormat | ||||
| { | { | ||||
| Auto, | Auto, | ||||
| @@ -1,4 +1,4 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Collections.Immutable; | using System.Collections.Immutable; | ||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| using System.Linq; | using System.Linq; | ||||
| @@ -8,19 +8,32 @@ namespace Discord | |||||
| [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
| public class Embed : IEmbed | public class Embed : IEmbed | ||||
| { | { | ||||
| /// <inheritdoc/> | |||||
| public EmbedType Type { get; } | public EmbedType Type { get; } | ||||
| /// <inheritdoc/> | |||||
| public string Description { get; internal set; } | public string Description { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public string Url { get; internal set; } | public string Url { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public string Title { get; internal set; } | public string Title { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public DateTimeOffset? Timestamp { get; internal set; } | public DateTimeOffset? Timestamp { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public Color? Color { get; internal set; } | public Color? Color { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public EmbedImage? Image { get; internal set; } | public EmbedImage? Image { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public EmbedVideo? Video { get; internal set; } | public EmbedVideo? Video { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public EmbedAuthor? Author { get; internal set; } | public EmbedAuthor? Author { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public EmbedFooter? Footer { get; internal set; } | public EmbedFooter? Footer { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public EmbedProvider? Provider { get; internal set; } | public EmbedProvider? Provider { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public EmbedThumbnail? Thumbnail { get; internal set; } | public EmbedThumbnail? Thumbnail { get; internal set; } | ||||
| /// <inheritdoc/> | |||||
| public ImmutableArray<EmbedField> Fields { get; internal set; } | public ImmutableArray<EmbedField> Fields { get; internal set; } | ||||
| internal Embed(EmbedType type) | internal Embed(EmbedType type) | ||||
| @@ -1,14 +1,19 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> An author field for an <see cref="Embed"/>. </summary> | |||||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | [DebuggerDisplay("{DebuggerDisplay,nq}")] | ||||
| public struct EmbedAuthor | public struct EmbedAuthor | ||||
| { | { | ||||
| /// <summary> Gets the name of the author field.</summary> | |||||
| public string Name { get; internal set; } | public string Name { get; internal set; } | ||||
| /// <summary> Gets the URL of the author field.</summary> | |||||
| public string Url { get; internal set; } | public string Url { get; internal set; } | ||||
| /// <summary> Gets the icon URL of the author field.</summary> | |||||
| public string IconUrl { get; internal set; } | public string IconUrl { get; internal set; } | ||||
| /// <summary> Gets the proxified icon URL of the author field.</summary> | |||||
| public string ProxyIconUrl { get; internal set; } | public string ProxyIconUrl { get; internal set; } | ||||
| internal EmbedAuthor(string name, string url, string iconUrl, string proxyIconUrl) | internal EmbedAuthor(string name, string url, string iconUrl, string proxyIconUrl) | ||||
| @@ -1,12 +1,10 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| using System.Collections.Immutable; | using System.Collections.Immutable; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> | |||||
| /// Builder for creating an <see cref="Embed"/> to be sent. | |||||
| /// </summary> | |||||
| /// <summary> A builder for creating an <see cref="Embed"/> to be sent. </summary> | |||||
| public class EmbedBuilder | public class EmbedBuilder | ||||
| { | { | ||||
| private readonly Embed _embed; | private readonly Embed _embed; | ||||
| @@ -1,12 +1,16 @@ | |||||
| using System.Diagnostics; | |||||
| using System.Diagnostics; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A field for an <see cref="Embed"/>. </summary> | |||||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | [DebuggerDisplay("{DebuggerDisplay,nq}")] | ||||
| public struct EmbedField | public struct EmbedField | ||||
| { | { | ||||
| /// <summary> Gets the name of the field.</summary> | |||||
| public string Name { get; internal set; } | public string Name { get; internal set; } | ||||
| /// <summary> Gets the value of the field.</summary> | |||||
| public string Value { get; internal set; } | public string Value { get; internal set; } | ||||
| /// <summary> Gets whether the field is inline inside an <see cref="Embed"/> or not.</summary> | |||||
| public bool Inline { get; internal set; } | public bool Inline { get; internal set; } | ||||
| internal EmbedField(string name, string value, bool inline) | internal EmbedField(string name, string value, bool inline) | ||||
| @@ -1,13 +1,17 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A footer field for an <see cref="Embed"/>. </summary> | |||||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | [DebuggerDisplay("{DebuggerDisplay,nq}")] | ||||
| public struct EmbedFooter | public struct EmbedFooter | ||||
| { | { | ||||
| /// <summary> Gets the text of the footer.</summary> | |||||
| public string Text { get; internal set; } | public string Text { get; internal set; } | ||||
| /// <summary> Gets the icon URL of the footer.</summary> | |||||
| public string IconUrl { get; internal set; } | public string IconUrl { get; internal set; } | ||||
| /// <summary> Gets the proxified icon URL of the footer.</summary> | |||||
| public string ProxyUrl { get; internal set; } | public string ProxyUrl { get; internal set; } | ||||
| internal EmbedFooter(string text, string iconUrl, string proxyUrl) | internal EmbedFooter(string text, string iconUrl, string proxyUrl) | ||||
| @@ -1,14 +1,19 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> An image for an <see cref="Embed"/>. </summary> | |||||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | [DebuggerDisplay("{DebuggerDisplay,nq}")] | ||||
| public struct EmbedImage | public struct EmbedImage | ||||
| { | { | ||||
| /// <summary> Gets the URL of the image.</summary> | |||||
| public string Url { get; } | public string Url { get; } | ||||
| /// <summary> Gets the proxified URL of the image.</summary> | |||||
| public string ProxyUrl { get; } | public string ProxyUrl { get; } | ||||
| /// <summary> Gets the height of the image if any is set. </summary> | |||||
| public int? Height { get; } | public int? Height { get; } | ||||
| /// <summary> Gets the width of the image if any is set. </summary> | |||||
| public int? Width { get; } | public int? Width { get; } | ||||
| internal EmbedImage(string url, string proxyUrl, int? height, int? width) | internal EmbedImage(string url, string proxyUrl, int? height, int? width) | ||||
| @@ -1,12 +1,15 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A provider field for an <see cref="Embed"/>. </summary> | |||||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | [DebuggerDisplay("{DebuggerDisplay,nq}")] | ||||
| public struct EmbedProvider | public struct EmbedProvider | ||||
| { | { | ||||
| /// <summary> Gets the name of the provider.</summary> | |||||
| public string Name { get; } | public string Name { get; } | ||||
| /// <summary> Gets the URL of the provider.</summary> | |||||
| public string Url { get; } | public string Url { get; } | ||||
| internal EmbedProvider(string name, string url) | internal EmbedProvider(string name, string url) | ||||
| @@ -1,14 +1,19 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A thumbnail featured in an <see cref="Embed"/>. </summary> | |||||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | [DebuggerDisplay("{DebuggerDisplay,nq}")] | ||||
| public struct EmbedThumbnail | public struct EmbedThumbnail | ||||
| { | { | ||||
| /// <summary> Gets the URL of the thumbnail.</summary> | |||||
| public string Url { get; } | public string Url { get; } | ||||
| /// <summary> Gets the proxified URL of the thumbnail.</summary> | |||||
| public string ProxyUrl { get; } | public string ProxyUrl { get; } | ||||
| /// <summary> Gets the height of the thumbnail if any is set. </summary> | |||||
| public int? Height { get; } | public int? Height { get; } | ||||
| /// <summary> Gets the width of the thumbnail if any is set. </summary> | |||||
| public int? Width { get; } | public int? Width { get; } | ||||
| internal EmbedThumbnail(string url, string proxyUrl, int? height, int? width) | internal EmbedThumbnail(string url, string proxyUrl, int? height, int? width) | ||||
| @@ -1,15 +1,25 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Specifies the type of embed. </summary> | |||||
| public enum EmbedType | public enum EmbedType | ||||
| { | { | ||||
| /// <summary> An unknown embed type. </summary> | |||||
| Unknown = -1, | Unknown = -1, | ||||
| /// <summary> A rich embed type. </summary> | |||||
| Rich, | Rich, | ||||
| /// <summary> A link embed type. </summary> | |||||
| Link, | Link, | ||||
| /// <summary> A video embed type. </summary> | |||||
| Video, | Video, | ||||
| /// <summary> An image embed type. </summary> | |||||
| Image, | Image, | ||||
| /// <summary> A GIFV embed type. </summary> | |||||
| Gifv, | Gifv, | ||||
| /// <summary> An article embed type. </summary> | |||||
| Article, | Article, | ||||
| /// <summary> A tweet embed type. </summary> | |||||
| Tweet, | Tweet, | ||||
| /// <summary> A HTML embed type. </summary> | |||||
| Html, | Html, | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,13 +1,17 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Diagnostics; | using System.Diagnostics; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A video featured in an <see cref="Embed"/>. </summary> | |||||
| [DebuggerDisplay("{DebuggerDisplay,nq}")] | [DebuggerDisplay("{DebuggerDisplay,nq}")] | ||||
| public struct EmbedVideo | public struct EmbedVideo | ||||
| { | { | ||||
| /// <summary> Gets the URL of the video. </summary> | |||||
| public string Url { get; } | public string Url { get; } | ||||
| /// <summary> Gets the height of the video if there is any. </summary> | |||||
| public int? Height { get; } | public int? Height { get; } | ||||
| /// <summary> Gets the weight of the video if there is any. </summary> | |||||
| public int? Width { get; } | public int? Width { get; } | ||||
| internal EmbedVideo(string url, int? height, int? width) | internal EmbedVideo(string url, int? height, int? width) | ||||
| @@ -1,22 +1,22 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> The interface that defines an attachment object. </summary> | |||||
| /// <summary> Represents a Discord attachment object. </summary> | |||||
| public interface IAttachment | public interface IAttachment | ||||
| { | { | ||||
| /// <summary> The snowflake ID of the attachment. </summary> | |||||
| /// <summary> Gets the snowflake ID of the attachment. </summary> | |||||
| ulong Id { get; } | ulong Id { get; } | ||||
| /// <summary> The filename of the attachment. </summary> | |||||
| /// <summary> Gets the filename of the attachment. </summary> | |||||
| string Filename { get; } | string Filename { get; } | ||||
| /// <summary> The URL of the attachment. </summary> | |||||
| /// <summary> Gets the URL of the attachment. </summary> | |||||
| string Url { get; } | string Url { get; } | ||||
| /// <summary> The proxied URL of the attachment. </summary> | |||||
| /// <summary> Gets the proxied URL of the attachment. </summary> | |||||
| string ProxyUrl { get; } | string ProxyUrl { get; } | ||||
| /// <summary> The file size of the attachment. </summary> | |||||
| /// <summary> Gets the file size of the attachment. </summary> | |||||
| int Size { get; } | int Size { get; } | ||||
| /// <summary> The height of the attachment if it is an image, or return <see langword="null"/> when it is not. </summary> | |||||
| /// <summary> Gets the height of the attachment if it is an image, or return <see langword="null"/> when it is not. </summary> | |||||
| int? Height { get; } | int? Height { get; } | ||||
| /// <summary> The width of the attachment if it is an image, or return <see langword="null"/> when it is not. </summary> | |||||
| /// <summary> Gets the width of the attachment if it is an image, or return <see langword="null"/> when it is not. </summary> | |||||
| int? Width { get; } | int? Width { get; } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,22 +1,36 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Collections.Immutable; | using System.Collections.Immutable; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Represents a Discord embed object. </summary> | |||||
| public interface IEmbed | public interface IEmbed | ||||
| { | { | ||||
| /// <summary> Gets the title URL of the embed. </summary> | |||||
| string Url { get; } | string Url { get; } | ||||
| /// <summary> Gets the title of the embed. </summary> | |||||
| string Title { get; } | string Title { get; } | ||||
| /// <summary> Gets the description of the embed. </summary> | |||||
| string Description { get; } | string Description { get; } | ||||
| /// <summary> Gets the type of the embed. </summary> | |||||
| EmbedType Type { get; } | EmbedType Type { get; } | ||||
| /// <summary> Gets the timestamp of the embed. </summary> | |||||
| DateTimeOffset? Timestamp { get; } | DateTimeOffset? Timestamp { get; } | ||||
| /// <summary> Gets the sidebar color of the embed. </summary> | |||||
| Color? Color { get; } | Color? Color { get; } | ||||
| /// <summary> Gets the image of the embed. </summary> | |||||
| EmbedImage? Image { get; } | EmbedImage? Image { get; } | ||||
| /// <summary> Gets the video of the embed. </summary> | |||||
| EmbedVideo? Video { get; } | EmbedVideo? Video { get; } | ||||
| /// <summary> Gets the author field of the embed. </summary> | |||||
| EmbedAuthor? Author { get; } | EmbedAuthor? Author { get; } | ||||
| /// <summary> Gets the footer field of the embed. </summary> | |||||
| EmbedFooter? Footer { get; } | EmbedFooter? Footer { get; } | ||||
| /// <summary> Gets the provider of the embed. </summary> | |||||
| EmbedProvider? Provider { get; } | EmbedProvider? Provider { get; } | ||||
| /// <summary> Gets the thumbnail featured in the embed. </summary> | |||||
| EmbedThumbnail? Thumbnail { get; } | EmbedThumbnail? Thumbnail { get; } | ||||
| /// <summary> Gets the fields of the embed. </summary> | |||||
| ImmutableArray<EmbedField> Fields { get; } | ImmutableArray<EmbedField> Fields { get; } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,8 +1,9 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Represents a Discord message object. </summary> | |||||
| public interface IMessage : ISnowflakeEntity, IDeletable | public interface IMessage : ISnowflakeEntity, IDeletable | ||||
| { | { | ||||
| /// <summary> Gets the type of this system message. </summary> | /// <summary> Gets the type of this system message. </summary> | ||||
| @@ -1,7 +1,9 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Represents a Discord reaction object. </summary> | |||||
| public interface IReaction | public interface IReaction | ||||
| { | { | ||||
| /// <summary> The <see cref="IEmote"/> used in the reaction. </summary> | |||||
| IEmote Emote { get; } | IEmote Emote { get; } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,9 +1,10 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A Discord message object. </summary> | |||||
| public interface IUserMessage : IMessage | public interface IUserMessage : IMessage | ||||
| { | { | ||||
| /// <summary> Modifies this message. </summary> | /// <summary> Modifies this message. </summary> | ||||
| @@ -1,7 +1,7 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Properties that are used to modify a message with the specified parameters. | |||||
| /// Properties that are used to modify an <see cref="IUserMessage"/> with the specified changes. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// The content of a message can be cleared with String.Empty; if and only if an Embed is present. | /// The content of a message can be cleared with String.Empty; if and only if an Embed is present. | ||||
| @@ -1,10 +1,15 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Specifies the source of the Discord message. </summary> | |||||
| public enum MessageSource | public enum MessageSource | ||||
| { | { | ||||
| /// <summary> The message is sent by the system. </summary> | |||||
| System, | System, | ||||
| /// <summary> The message is sent by a user. </summary> | |||||
| User, | User, | ||||
| /// <summary> The message is sent by a bot. </summary> | |||||
| Bot, | Bot, | ||||
| /// <summary> The message is sent by a webhook. </summary> | |||||
| Webhook | Webhook | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,13 +1,21 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the type of message. </summary> | |||||
| public enum MessageType | public enum MessageType | ||||
| { | { | ||||
| /// <summary> The default message type. </summary> | |||||
| Default = 0, | Default = 0, | ||||
| /// <summary> The message when a recipient is added. </summary> | |||||
| RecipientAdd = 1, | RecipientAdd = 1, | ||||
| /// <summary> The message when a recipient is removed. </summary> | |||||
| RecipientRemove = 2, | RecipientRemove = 2, | ||||
| /// <summary> The message when a user is called. </summary> | |||||
| Call = 3, | Call = 3, | ||||
| /// <summary> The message when a channel name is changed. </summary> | |||||
| ChannelNameChange = 4, | ChannelNameChange = 4, | ||||
| /// <summary> The message when a channel icon is changed. </summary> | |||||
| ChannelIconChange = 5, | ChannelIconChange = 5, | ||||
| /// <summary> The message when another message is pinned. </summary> | |||||
| ChannelPinnedMessage = 6 | ChannelPinnedMessage = 6 | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,11 +1,12 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> A metadata containing reaction information. </summary> | |||||
| public struct ReactionMetadata | public struct ReactionMetadata | ||||
| { | { | ||||
| /// <summary> Gets the number of reactions </summary> | |||||
| /// <summary> Gets the number of reactions. </summary> | |||||
| public int ReactionCount { get; internal set; } | public int ReactionCount { get; internal set; } | ||||
| /// <summary> Returns true if the current user has used this reaction </summary> | |||||
| /// <summary> Returns true if the current user has used this reaction. </summary> | |||||
| public bool IsMe { get; internal set; } | public bool IsMe { get; internal set; } | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,13 +1,21 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the handling type the tag should use. </summary> | |||||
| public enum TagHandling | public enum TagHandling | ||||
| { | { | ||||
| /// <summary> Tag handling is ignored. </summary> | |||||
| Ignore = 0, //<@53905483156684800> -> <@53905483156684800> | Ignore = 0, //<@53905483156684800> -> <@53905483156684800> | ||||
| Remove, //<@53905483156684800> -> | |||||
| /// <summary> Removes the tag entirely. </summary> | |||||
| Remove, //<@53905483156684800> -> | |||||
| /// <summary> Resolves to username (e.g. @User). </summary> | |||||
| Name, //<@53905483156684800> -> @Voltana | Name, //<@53905483156684800> -> @Voltana | ||||
| /// <summary> Resolves to username without mention prefix (e.g. User). </summary> | |||||
| NameNoPrefix, //<@53905483156684800> -> Voltana | NameNoPrefix, //<@53905483156684800> -> Voltana | ||||
| /// <summary> Resolves to username with discriminator value. (e.g. @User#0001). </summary> | |||||
| FullName, //<@53905483156684800> -> @Voltana#8252 | FullName, //<@53905483156684800> -> @Voltana#8252 | ||||
| /// <summary> Resolves to username with discriminator value without mention prefix. (e.g. User#0001). </summary> | |||||
| FullNameNoPrefix, //<@53905483156684800> -> Voltana#8252 | FullNameNoPrefix, //<@53905483156684800> -> Voltana#8252 | ||||
| /// <summary> Sanitizes the tag. </summary> | |||||
| Sanitize //<@53905483156684800> -> <@53905483156684800> (w/ nbsp) | Sanitize //<@53905483156684800> -> <@53905483156684800> (w/ nbsp) | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,12 +1,19 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the type of Discord tag. </summary> | |||||
| public enum TagType | public enum TagType | ||||
| { | { | ||||
| /// <summary> The object is an user mention. </summary> | |||||
| UserMention, | UserMention, | ||||
| /// <summary> The object is a channel mention. </summary> | |||||
| ChannelMention, | ChannelMention, | ||||
| /// <summary> The object is a role mention. </summary> | |||||
| RoleMention, | RoleMention, | ||||
| /// <summary> The object is an everyone mention. </summary> | |||||
| EveryoneMention, | EveryoneMention, | ||||
| /// <summary> The object is a here mention. </summary> | |||||
| HereMention, | HereMention, | ||||
| /// <summary> The object is an emoji. </summary> | |||||
| Emoji | Emoji | ||||
| } | } | ||||
| } | } | ||||
| @@ -2,6 +2,7 @@ using System; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Defines the available permissions for a channel. </summary> | |||||
| [FlagsAttribute] | [FlagsAttribute] | ||||
| public enum ChannelPermission : ulong | public enum ChannelPermission : ulong | ||||
| { | { | ||||
| @@ -1,7 +1,8 @@ | |||||
| using System; | |||||
| using System; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Defines the available permissions for a channel. </summary> | |||||
| [FlagsAttribute] | [FlagsAttribute] | ||||
| public enum GuildPermission : ulong | public enum GuildPermission : ulong | ||||
| { | { | ||||
| @@ -1,9 +1,13 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the permission value. </summary> | |||||
| public enum PermValue | public enum PermValue | ||||
| { | { | ||||
| /// <summary> Allows this permission. </summary> | |||||
| Allow, | Allow, | ||||
| /// <summary> Denies this permission. </summary> | |||||
| Deny, | Deny, | ||||
| /// <summary> Inherits the permission settings. </summary> | |||||
| Inherit | Inherit | ||||
| } | } | ||||
| } | } | ||||
| @@ -3,6 +3,7 @@ using System.Diagnostics; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A color object that Discord uses. </summary> | |||||
| [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
| public struct Color | public struct Color | ||||
| { | { | ||||
| @@ -1,10 +1,11 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Properties that are used to reorder an <see cref="IRole"/>. </summary> | |||||
| public class ReorderRoleProperties | public class ReorderRoleProperties | ||||
| { | { | ||||
| /// <summary>The id of the role to be edited</summary> | |||||
| /// <summary> Gets the ID of the role to be edited. </summary> | |||||
| public ulong Id { get; } | public ulong Id { get; } | ||||
| /// <summary>The new zero-based position of the role.</summary> | |||||
| /// <summary> Gets the new zero-based position of the role. </summary> | |||||
| public int Position { get; } | public int Position { get; } | ||||
| public ReorderRoleProperties(ulong id, int pos) | public ReorderRoleProperties(ulong id, int pos) | ||||
| @@ -1,7 +1,7 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Modify an IRole with the specified parameters | |||||
| /// Properties that are used to modify an <see cref="IRole"/> with the specified changes. | |||||
| /// </summary> | /// </summary> | ||||
| /// <example> | /// <example> | ||||
| /// <code language="c#"> | /// <code language="c#"> | ||||
| @@ -16,39 +16,39 @@ | |||||
| public class RoleProperties | public class RoleProperties | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// The name of the role | |||||
| /// Gets or sets the name of the role. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// If this role is the EveryoneRole, this value may not be set. | /// If this role is the EveryoneRole, this value may not be set. | ||||
| /// </remarks> | /// </remarks> | ||||
| public Optional<string> Name { get; set; } | public Optional<string> Name { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// The role's GuildPermissions | |||||
| /// Gets or sets the role's <see cref="GuildPermission"/>. | |||||
| /// </summary> | /// </summary> | ||||
| public Optional<GuildPermissions> Permissions { get; set; } | public Optional<GuildPermissions> Permissions { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// The position of the role. This is 0-based! | |||||
| /// Gets or sets the position of the role. This is 0-based! | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// If this role is the EveryoneRole, this value may not be set. | /// If this role is the EveryoneRole, this value may not be set. | ||||
| /// </remarks> | /// </remarks> | ||||
| public Optional<int> Position { get; set; } | public Optional<int> Position { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// The color of the Role. | |||||
| /// Gets or sets the color of the Role. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// If this role is the EveryoneRole, this value may not be set. | /// If this role is the EveryoneRole, this value may not be set. | ||||
| /// </remarks> | /// </remarks> | ||||
| public Optional<Color> Color { get; set; } | public Optional<Color> Color { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// Whether or not this role should be displayed independently in the userlist. | |||||
| /// Gets or sets whether or not this role should be displayed independently in the userlist. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// If this role is the EveryoneRole, this value may not be set. | /// If this role is the EveryoneRole, this value may not be set. | ||||
| /// </remarks> | /// </remarks> | ||||
| public Optional<bool> Hoist { get; set; } | public Optional<bool> Hoist { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// Whether or not this role can be mentioned. | |||||
| /// Gets or sets whether or not this role can be mentioned. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// If this role is the EveryoneRole, this value may not be set. | /// If this role is the EveryoneRole, this value may not be set. | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Represents a Discord user that is in a group. </summary> | |||||
| public interface IGroupUser : IUser, IVoiceState | public interface IGroupUser : IUser, IVoiceState | ||||
| { | { | ||||
| ///// <summary> Kicks this user from this group. </summary> | ///// <summary> Kicks this user from this group. </summary> | ||||
| @@ -1,10 +1,10 @@ | |||||
| using System; | |||||
| using System; | |||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> A Guild-User pairing. </summary> | |||||
| /// <summary> Represents a Discord user that is in a guild. </summary> | |||||
| public interface IGuildUser : IUser, IVoiceState | public interface IGuildUser : IUser, IVoiceState | ||||
| { | { | ||||
| /// <summary> Gets when this user joined this guild. </summary> | /// <summary> Gets when this user joined this guild. </summary> | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Represents a Discord user's presence status. </summary> | |||||
| public interface IPresence | public interface IPresence | ||||
| { | { | ||||
| /// <summary> Gets the activity this user is currently doing. </summary> | /// <summary> Gets the activity this user is currently doing. </summary> | ||||
| @@ -7,4 +8,4 @@ | |||||
| /// <summary> Gets the current status of this user. </summary> | /// <summary> Gets the current status of this user. </summary> | ||||
| UserStatus Status { get; } | UserStatus Status { get; } | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -3,6 +3,7 @@ using System.Threading.Tasks; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Represents a logged-in Discord user. </summary> | |||||
| public interface ISelfUser : IUser | public interface ISelfUser : IUser | ||||
| { | { | ||||
| /// <summary> Gets the email associated with this user. </summary> | /// <summary> Gets the email associated with this user. </summary> | ||||
| @@ -14,4 +15,4 @@ namespace Discord | |||||
| Task ModifyAsync(Action<SelfUserProperties> func, RequestOptions options = null); | Task ModifyAsync(Action<SelfUserProperties> func, RequestOptions options = null); | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -2,6 +2,7 @@ using System.Threading.Tasks; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Represents a Discord user. </summary> | |||||
| public interface IUser : ISnowflakeEntity, IMentionable, IPresence | public interface IUser : ISnowflakeEntity, IMentionable, IPresence | ||||
| { | { | ||||
| /// <summary> Gets the id of this user's avatar. </summary> | /// <summary> Gets the id of this user's avatar. </summary> | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Represents a Webhook Discord user. </summary> | |||||
| public interface IWebhookUser : IGuildUser | public interface IWebhookUser : IGuildUser | ||||
| { | { | ||||
| ulong WebhookId { get; } | ulong WebhookId { get; } | ||||
| @@ -1,7 +1,7 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Modify the current user with the specified arguments | |||||
| /// Properties that are used to modify the <see cref="ISelfUser"/> with the specified changes. | |||||
| /// </summary> | /// </summary> | ||||
| /// <example> | /// <example> | ||||
| /// <code language="c#"> | /// <code language="c#"> | ||||
| @@ -1,12 +1,19 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Defines the available Discord user status. </summary> | |||||
| public enum UserStatus | public enum UserStatus | ||||
| { | { | ||||
| /// <summary> The user is offline. </summary> | |||||
| Offline, | Offline, | ||||
| /// <summary> The user is online. </summary> | |||||
| Online, | Online, | ||||
| /// <summary> The user is idle. </summary> | |||||
| Idle, | Idle, | ||||
| /// <summary> The user is AFK. </summary> | |||||
| AFK, | AFK, | ||||
| /// <summary> The user is busy. </summary> | |||||
| DoNotDisturb, | DoNotDisturb, | ||||
| /// <summary> The user is invisible. </summary> | |||||
| Invisible, | Invisible, | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,7 +1,7 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// Modify an <see cref="IWebhook"/> with the specified parameters. | |||||
| /// Properties used to modify an <see cref="IWebhook"/> with the specified changes. | |||||
| /// </summary> | /// </summary> | ||||
| /// <example> | /// <example> | ||||
| /// <code language="c#"> | /// <code language="c#"> | ||||
| @@ -16,22 +16,22 @@ | |||||
| public class WebhookProperties | public class WebhookProperties | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| /// The default name of the webhook. | |||||
| /// Gets or sets the default name of the webhook. | |||||
| /// </summary> | /// </summary> | ||||
| public Optional<string> Name { get; set; } | public Optional<string> Name { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// The default avatar of the webhook. | |||||
| /// Gets or sets the default avatar of the webhook. | |||||
| /// </summary> | /// </summary> | ||||
| public Optional<Image?> Image { get; set; } | public Optional<Image?> Image { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// The channel for this webhook. | |||||
| /// Gets or sets the channel for this webhook. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// This field is not used when authenticated with <see cref="TokenType.Webhook"/>. | /// This field is not used when authenticated with <see cref="TokenType.Webhook"/>. | ||||
| /// </remarks> | /// </remarks> | ||||
| public Optional<ITextChannel> Channel { get; set; } | public Optional<ITextChannel> Channel { get; set; } | ||||
| /// <summary> | /// <summary> | ||||
| /// The channel id for this webhook. | |||||
| /// Gets or sets the channel ID for this webhook. | |||||
| /// </summary> | /// </summary> | ||||
| /// <remarks> | /// <remarks> | ||||
| /// This field is not used when authenticated with <see cref="TokenType.Webhook"/>. | /// This field is not used when authenticated with <see cref="TokenType.Webhook"/>. | ||||
| @@ -1,5 +1,6 @@ | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Specifies the severity of the log message. </summary> | |||||
| public enum LogSeverity | public enum LogSeverity | ||||
| { | { | ||||
| /// <summary> | /// <summary> | ||||
| @@ -1,10 +1,15 @@ | |||||
| namespace Discord | |||||
| namespace Discord | |||||
| { | { | ||||
| /// <summary> Specifies the state of the client's login status. </summary> | |||||
| public enum LoginState : byte | public enum LoginState : byte | ||||
| { | { | ||||
| /// <summary> The client is currently logged out. </summary> | |||||
| LoggedOut, | LoggedOut, | ||||
| /// <summary> The client is currently logging in. </summary> | |||||
| LoggingIn, | LoggingIn, | ||||
| /// <summary> The client is currently logged in. </summary> | |||||
| LoggedIn, | LoggedIn, | ||||
| /// <summary> The client is currently logging out. </summary> | |||||
| LoggingOut | LoggingOut | ||||
| } | } | ||||
| } | } | ||||
| @@ -2,6 +2,7 @@ using System; | |||||
| namespace Discord | namespace Discord | ||||
| { | { | ||||
| /// <summary> Specifies the type of token to use with the client. </summary> | |||||
| public enum TokenType | public enum TokenType | ||||
| { | { | ||||
| [Obsolete("User logins are deprecated and may result in a ToS strike against your account - please see https://github.com/RogueException/Discord.Net/issues/827", error: true)] | [Obsolete("User logins are deprecated and may result in a ToS strike against your account - please see https://github.com/RogueException/Discord.Net/issues/827", error: true)] | ||||