diff --git a/src/Discord.Net.Core/Entities/Guilds/IGuildIntegration.cs b/src/Discord.Net.Core/Entities/Guilds/IGuildIntegration.cs
index 225ce05d6f..4ca57a55fa 100644
--- a/src/Discord.Net.Core/Entities/Guilds/IGuildIntegration.cs
+++ b/src/Discord.Net.Core/Entities/Guilds/IGuildIntegration.cs
@@ -1,17 +1,40 @@
-using System;
+using System;
namespace Discord
{
public interface IGuildIntegration
{
+ /// Gets the integration ID.
+ /// An representing the unique identifier value of this integration.
ulong Id { get; }
+ /// Gets the integration name.
+ /// A string containing the name of this integration.
string Name { get; }
+ /// Gets the integration type (twitch, youtube, etc).
+ /// A string containing the name of the type of integration.
string Type { get; }
+ /// Gets if this integration is enabled or not.
+ /// A value indicating if this integration is enabled.
bool IsEnabled { get; }
+ /// Gets if this integration is syncing or not.
+ /// A value indicating if this integration is syncing.
+ ///
+ /// An integration with syncing enabled will update its "subscribers" on
+ /// an interval, while one with syncing disabled will not.
+ /// A user must manually choose when sync the integration
+ /// if syncing is disabled.
+ ///
bool IsSyncing { get; }
+ /// Gets the ID that this integration uses for "subscribers".
ulong ExpireBehavior { get; }
+ /// Gets the grace period before expiring "subscribers".
ulong ExpireGracePeriod { get; }
+ /// Gets when this integration was last synced.
+ /// A containing a date and time of day when the integration was last synced.
DateTimeOffset SyncedAt { get; }
+ ///
+ /// Gets integration account information.
+ ///
IntegrationAccount Account { get; }
IGuild Guild { get; }
diff --git a/src/Discord.Net.Core/Entities/Guilds/IntegrationAccount.cs b/src/Discord.Net.Core/Entities/Guilds/IntegrationAccount.cs
index 71bcf10edd..637bf969b7 100644
--- a/src/Discord.Net.Core/Entities/Guilds/IntegrationAccount.cs
+++ b/src/Discord.Net.Core/Entities/Guilds/IntegrationAccount.cs
@@ -1,11 +1,15 @@
-using System.Diagnostics;
+using System.Diagnostics;
namespace Discord
{
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public struct IntegrationAccount
{
+ /// Gets the ID of the account.
+ /// A unique identifier of this integration account.
public string Id { get; }
+ /// Gets the name of the account.
+ /// A string containing the name of this integration account.
public string Name { get; private set; }
public override string ToString() => Name;
diff --git a/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs b/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs
index d683bd36b8..6729fdc394 100644
--- a/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs
@@ -22,7 +22,7 @@ public enum ChannelPermission : ulong
///
AddReactions = 0x00_00_00_40,
///
- /// Allows for reading of message.
+ /// Allows for reading of messages. This flag is obsolete, use instead.
///
[Obsolete("Use ViewChannel instead.")]
ReadMessages = ViewChannel,
diff --git a/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs b/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
index f2724778f1..2e335947e4 100644
--- a/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
@@ -14,23 +14,43 @@ public enum GuildPermission : ulong
///
/// Allows kicking members.
///
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
KickMembers = 0x00_00_00_02,
///
/// Allows banning members.
///
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
BanMembers = 0x00_00_00_04,
///
/// Allows all permissions and bypasses channel permission overwrites.
///
- Administrator = 0x00_00_00_08,
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
+ Administrator = 0x00_00_00_08,
///
/// Allows management and editing of channels.
///
- ManageChannels = 0x00_00_00_10,
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
+ ManageChannels = 0x00_00_00_10,
///
/// Allows management and editing of the guild.
///
- ManageGuild = 0x00_00_00_20,
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
+ ManageGuild = 0x00_00_00_20,
// Text
///
@@ -52,7 +72,11 @@ public enum GuildPermission : ulong
///
/// Allows for deletion of other users messages.
///
- ManageMessages = 0x00_00_20_00,
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
+ ManageMessages = 0x00_00_20_00,
///
/// Allows links sent by users with this permission will be auto-embedded.
///
@@ -114,14 +138,26 @@ public enum GuildPermission : ulong
///
/// Allows management and editing of roles.
///
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
ManageRoles = 0x10_00_00_00,
///
/// Allows management and editing of webhooks.
///
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
ManageWebhooks = 0x20_00_00_00,
///
/// Allows management and editing of emojis.
///
+ ///
+ /// This permission requires the owner account to use two-factor
+ /// authentication when used on a guild that has server-wide 2FA enabled.
+ ///
ManageEmojis = 0x40_00_00_00
}
}
diff --git a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs b/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
index bac14a5c86..39a77573de 100644
--- a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
@@ -244,8 +244,19 @@ public GuildPermissions Modify(
readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, moveMembers,
useVoiceActivation, changeNickname, manageNicknames, manageRoles, manageWebhooks, manageEmojis);
+ ///
+ /// Returns a value that indicates if a specific is enabled
+ /// in these permissions.
+ ///
+ /// The permission value to check for.
+ /// true if the permission is enabled, false otherwise.
public bool Has(GuildPermission permission) => Permissions.GetValue(RawValue, permission);
+ ///
+ /// Returns a containing all of the
+ /// flags that are enabled.
+ ///
+ /// A containing flags. Empty if none are enabled.
public List ToList()
{
var perms = new List();
diff --git a/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs b/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs
index 0af2fba9a6..04bb2f668d 100644
--- a/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs
@@ -193,6 +193,10 @@ public OverwritePermissions Modify(
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers,
moveMembers, useVoiceActivation, manageRoles, manageWebhooks);
+ ///
+ /// Creates a of all the values that are allowed.
+ ///
+ /// A of all allowed flags. If none, the list will be empty.
public List ToAllowList()
{
var perms = new List();
@@ -205,6 +209,11 @@ public List ToAllowList()
}
return perms;
}
+
+ ///
+ /// Creates a of all the values that are denied.
+ ///
+ /// A of all denied flags. If none, the list will be empty.
public List ToDenyList()
{
var perms = new List();
diff --git a/src/Discord.Net.Core/Entities/Roles/Color.cs b/src/Discord.Net.Core/Entities/Roles/Color.cs
index a8917ec075..1da86a71f1 100644
--- a/src/Discord.Net.Core/Entities/Roles/Color.cs
+++ b/src/Discord.Net.Core/Entities/Roles/Color.cs
@@ -75,6 +75,10 @@ public struct Color
public static readonly Color DarkerGrey = new Color(0x546E7A);
/// Gets the encoded value for this color.
+ ///
+ /// This value is encoded as an unsigned integer value. The most-significant 8 bits contain the red value,
+ /// the middle 8 bits contain the green value, and the least-significant 8 bits contain the blue value.
+ ///
public uint RawValue { get; }
/// Gets the red component for this color.
diff --git a/src/Discord.Net.Core/Entities/Users/IConnection.cs b/src/Discord.Net.Core/Entities/Users/IConnection.cs
index cc981ccf0d..1e65d971fd 100644
--- a/src/Discord.Net.Core/Entities/Users/IConnection.cs
+++ b/src/Discord.Net.Core/Entities/Users/IConnection.cs
@@ -1,14 +1,27 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
namespace Discord
{
public interface IConnection
{
+ /// Gets the ID of the connection account.
+ /// A representing the unique identifier value of this connection.
string Id { get; }
+ /// Gets the service of the connection (twitch, youtube).
+ /// A string containing the name of this type of connection.
string Type { get; }
+ /// Gets the username of the connection account.
+ /// A string containing the name of this connection.
string Name { get; }
+ /// Gets whether the connection is revoked.
+ /// A value which if true indicates that this connection has been revoked, otherwise false.
bool IsRevoked { get; }
+ /// Gets a of integration IDs.
+ ///
+ /// An containing
+ /// representations of unique identifier values of integrations.
+ ///
IReadOnlyCollection IntegrationIds { get; }
}
}