From a74ba6009eea84b479ede669fe55e3d5295f7cbc Mon Sep 17 00:00:00 2001 From: dolfies Date: Tue, 2 Jan 2024 00:48:10 -0500 Subject: [PATCH] Document new SKUProductLine enum --- discord/enums.py | 2 +- discord/store.py | 4 ++-- docs/api.rst | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/discord/enums.py b/discord/enums.py index 6df1675b33db..cec7929600fc 100644 --- a/discord/enums.py +++ b/discord/enums.py @@ -1294,7 +1294,7 @@ def __int__(self) -> int: class SKUProductLine(Enum): premium = 1 - guild_premium = 2 + premium_guild = 2 iap = 3 guild_role = 4 guild_product = 5 diff --git a/discord/store.py b/discord/store.py index a4d593d709cf..5f69402be8e9 100644 --- a/discord/store.py +++ b/discord/store.py @@ -710,7 +710,7 @@ def _update(self, data: StoreListingPayload, application: Optional[PartialApplic self.child_skus: List[SKU] = [SKU(data=sku, state=state) for sku in data.get('child_skus', [])] self.alternative_skus: List[SKU] = [SKU(data=sku, state=state) for sku in data.get('alternative_skus', [])] self.entitlement_branch_id: Optional[int] = _get_as_snowflake(data, 'entitlement_branch_id') - self.guild: Optional[Guild] = state.create_guild(data['guild']) if 'guild' in data else None + self.guild: Optional[Guild] = state.create_guild(data['guild']) if 'guild' in data else None # type: ignore self.published: bool = data.get('published', True) self.published_at: Optional[datetime] = parse_time(data['published_at']) if 'published_at' in data else None self.unpublished_at: Optional[datetime] = parse_time(data['unpublished_at']) if 'unpublished_at' in data else None @@ -1279,7 +1279,7 @@ def _update(self, data: SKUPayload) -> None: self.genres: List[SKUGenre] = [try_enum(SKUGenre, genre) for genre in data.get('genres', [])] self.available_regions: Optional[List[str]] = data.get('available_regions') self.content_ratings: List[ContentRating] = ( - [ContentRating.from_dict(data['content_rating'], data['content_rating_agency'])] + [ContentRating.from_dict(data['content_rating'], data['content_rating_agency'])] # type: ignore if 'content_rating' in data and 'content_rating_agency' in data else ContentRating.from_dicts(data.get('content_ratings')) ) diff --git a/docs/api.rst b/docs/api.rst index 4bbaf25bc12d..2e2fcecdbfd6 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -4277,6 +4277,40 @@ of :class:`enum.Enum`. The SKU is available to VIP users only. +.. class:: SKUProductLine + + Represents the product line of a SKU. + + .. versionadded:: 2.1 + + .. attribute:: premium + + The SKU is a premium (Nitro) product. + + .. attribute:: premium_guild + + The SKU is a premium guild product. + + .. attribute:: iap + + The SKU is an embedded in-app purchase. + + .. attribute:: guild_role + + The SKU is a guild role subscription. + + .. attribute:: guild_product + + The SKU is a guild product. + + .. attribute:: application + + The SKU is an application subscription. + + .. attribute:: collectible + + The SKU is a collectible avatar decoration or profile effect. + .. class:: SKUFeature Represents a feature of a SKU.