aboutsummaryrefslogtreecommitdiff
path: root/discord
diff options
context:
space:
mode:
Diffstat (limited to 'discord')
-rw-r--r--discord/enums.py7
-rw-r--r--discord/guild.py11
-rw-r--r--discord/types/guild.py3
3 files changed, 14 insertions, 7 deletions
diff --git a/discord/enums.py b/discord/enums.py
index 211b88fd..d716fa6f 100644
--- a/discord/enums.py
+++ b/discord/enums.py
@@ -53,6 +53,7 @@ __all__ = (
'StagePrivacyLevel',
'InteractionType',
'InteractionResponseType',
+ 'NSFWLevel',
)
def _create_value_cls(name):
@@ -488,6 +489,12 @@ class StagePrivacyLevel(Enum):
closed = 2
guild_only = 2
+class NSFWLevel(Enum):
+ default = 0
+ explicit = 1
+ safe = 2
+ age_restricted = 3
+
T = TypeVar('T')
def create_unknown_value(cls: Type[T], val: Any) -> T:
diff --git a/discord/guild.py b/discord/guild.py
index 36317e47..e9756905 100644
--- a/discord/guild.py
+++ b/discord/guild.py
@@ -37,7 +37,7 @@ from .permissions import PermissionOverwrite
from .colour import Colour
from .errors import InvalidArgument, ClientException
from .channel import *
-from .enums import AuditLogAction, VideoQualityMode, VoiceRegion, ChannelType, try_enum, VerificationLevel, ContentFilter, NotificationLevel
+from .enums import AuditLogAction, VideoQualityMode, VoiceRegion, ChannelType, try_enum, VerificationLevel, ContentFilter, NotificationLevel, NSFWLevel
from .mixins import Hashable
from .user import User
from .invite import Invite
@@ -167,9 +167,8 @@ class Guild(Hashable):
preferred_locale: Optional[:class:`str`]
The preferred locale for the guild. Used when filtering Server Discovery
results to a specific language.
-
- nsfw: :class:`bool`
- If the guild is marked as "not safe for work".
+ nsfw_level: :class:`NSFWLevel`
+ The guild's NSFW level.
.. versionadded:: 2.0
"""
@@ -183,7 +182,7 @@ class Guild(Hashable):
'description', 'max_presences', 'max_members', 'max_video_channel_users',
'premium_tier', 'premium_subscription_count', '_system_channel_flags',
'preferred_locale', '_discovery_splash', '_rules_channel_id',
- '_public_updates_channel_id', '_stage_instances', 'nsfw')
+ '_public_updates_channel_id', '_stage_instances', 'nsfw_level')
_PREMIUM_GUILD_LIMITS = {
None: _GuildLimit(emoji=50, bitrate=96e3, filesize=8388608),
@@ -318,7 +317,7 @@ class Guild(Hashable):
self._discovery_splash = guild.get('discovery_splash')
self._rules_channel_id = utils._get_as_snowflake(guild, 'rules_channel_id')
self._public_updates_channel_id = utils._get_as_snowflake(guild, 'public_updates_channel_id')
- self.nsfw = guild.get('nsfw', False)
+ self.nsfw_level = try_enum(NSFWLevel, guild.get('nsfw_level', 0))
self._stage_instances = {}
for s in guild.get('stage_instances', []):
diff --git a/discord/types/guild.py b/discord/types/guild.py
index d2dadbcf..65e9387b 100644
--- a/discord/types/guild.py
+++ b/discord/types/guild.py
@@ -70,6 +70,7 @@ DefaultMessageNotificationLevel = Literal[0, 1]
ExplicitContentFilterLevel = Literal[0, 1, 2]
MFALevel = Literal[0, 1]
VerificationLevel = Literal[0, 1, 2, 3, 4]
+NSFWLevel = Literal[0, 1, 2, 3]
PremiumTier = Literal[0, 1, 2, 3]
GuildFeature = Literal[
'INVITE_SPLASH',
@@ -119,7 +120,7 @@ class Guild(_BaseGuildPreview, _GuildOptional):
explicit_content_filter: ExplicitContentFilterLevel
roles: List[Role]
mfa_level: MFALevel
- nsfw: bool
+ nsfw_level: NSFWLevel
application_id: Optional[Snowflake]
system_channel_id: Optional[Snowflake]
system_channel_flags: int