diff --git a/src/Discord.Net.Core/Entities/Guilds/ExplicitContentFilterLevel.cs b/src/Discord.Net.Core/Entities/Guilds/ExplicitContentFilterLevel.cs
new file mode 100644
index 000000000..54c0bdafe
--- /dev/null
+++ b/src/Discord.Net.Core/Entities/Guilds/ExplicitContentFilterLevel.cs
@@ -0,0 +1,13 @@
+namespace Discord
+{
+ public enum ExplicitContentFilterLevel
+ {
+ /// No messages will be scanned.
+ Disabled = 0,
+ /// Scans messages from all guild members that do not have a role.
+ /// Recommented option for servers that use roles for trusted membership.
+ MembersWithoutRoles = 1,
+ /// Scan messages sent by all guild members.
+ AllMembers = 2
+ }
+}
diff --git a/src/Discord.Net.Core/Entities/Guilds/IGuild.cs b/src/Discord.Net.Core/Entities/Guilds/IGuild.cs
index bbe7051cb..d64297a1e 100644
--- a/src/Discord.Net.Core/Entities/Guilds/IGuild.cs
+++ b/src/Discord.Net.Core/Entities/Guilds/IGuild.cs
@@ -19,6 +19,8 @@ namespace Discord
MfaLevel MfaLevel { get; }
/// Gets the level of requirements a user must fulfill before being allowed to post messages in this guild.
VerificationLevel VerificationLevel { get; }
+ /// Gets the level of content filtering applied to user's content in a Guild.
+ ExplicitContentFilterLevel ExplicitContentFilterLevel { get; }
/// Returns the id of this guild's icon, or null if one is not set.
string IconId { get; }
/// Returns the url to this guild's icon, or null if one is not set.
diff --git a/src/Discord.Net.Rest/API/Common/Guild.cs b/src/Discord.Net.Rest/API/Common/Guild.cs
index 0ca1bc236..7bbfbaedc 100644
--- a/src/Discord.Net.Rest/API/Common/Guild.cs
+++ b/src/Discord.Net.Rest/API/Common/Guild.cs
@@ -1,4 +1,4 @@
-#pragma warning disable CS1591
+#pragma warning disable CS1591
using Newtonsoft.Json;
namespace Discord.API
@@ -41,5 +41,7 @@ namespace Discord.API
public MfaLevel MfaLevel { get; set; }
[JsonProperty("default_message_notifications")]
public DefaultMessageNotifications DefaultMessageNotifications { get; set; }
+ [JsonProperty("explicit_content_filter")]
+ public ExplicitContentFilterLevel ExplicitContentFilter { get; set; }
}
}
diff --git a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
index e6819e8a4..8ad1785f1 100644
--- a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
+++ b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
@@ -23,6 +23,7 @@ namespace Discord.Rest
public VerificationLevel VerificationLevel { get; private set; }
public MfaLevel MfaLevel { get; private set; }
public DefaultMessageNotifications DefaultMessageNotifications { get; private set; }
+ public ExplicitContentFilterLevel ExplicitContentFilter { get; private set; }
public ulong? AFKChannelId { get; private set; }
public ulong? EmbedChannelId { get; private set; }
@@ -70,6 +71,7 @@ namespace Discord.Rest
VerificationLevel = model.VerificationLevel;
MfaLevel = model.MfaLevel;
DefaultMessageNotifications = model.DefaultMessageNotifications;
+ ExplicitContentFilter = model.ExplicitContentFilter;
if (model.Emojis != null)
{
diff --git a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
index 78ea4004a..68da8c46e 100644
--- a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
+++ b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
@@ -40,6 +40,7 @@ namespace Discord.WebSocket
public VerificationLevel VerificationLevel { get; private set; }
public MfaLevel MfaLevel { get; private set; }
public DefaultMessageNotifications DefaultMessageNotifications { get; private set; }
+ public ExplicitContentFilterLevel ExplicitContentFilter { get; private set; }
public int MemberCount { get; internal set; }
public int DownloadedMemberCount { get; private set; }
internal bool IsAvailable { get; private set; }
@@ -210,6 +211,7 @@ namespace Discord.WebSocket
VerificationLevel = model.VerificationLevel;
MfaLevel = model.MfaLevel;
DefaultMessageNotifications = model.DefaultMessageNotifications;
+ ExplicitContentFilter = model.ExplicitContentFilter;
if (model.Emojis != null)
{