Skip to content

Commit 725cbaa

Browse files
committed
Merge remote-tracking branch 'origin/feat/subscriptions' into feat/subscriptions
2 parents af1b084 + e16c72a commit 725cbaa

File tree

4 files changed

+30
-11
lines changed

4 files changed

+30
-11
lines changed

discord/http.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3057,8 +3057,10 @@ async def get_subscription(
30573057
) -> Response[monetization.Subscription]:
30583058
return self.request(
30593059
Route(
3060-
"GET", "/skus/{sku_id}/subscriptions/{subscription_id}",
3061-
sku_id=sku_id, subscription_id=subscription_id
3060+
"GET",
3061+
"/skus/{sku_id}/subscriptions/{subscription_id}",
3062+
sku_id=sku_id,
3063+
subscription_id=subscription_id,
30623064
)
30633065
)
30643066

discord/iterators.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@
6565
from .types.audit_log import AuditLog as AuditLogPayload
6666
from .types.guild import Guild as GuildPayload
6767
from .types.message import Message as MessagePayload
68+
from .types.monetization import Subscription as SubscriptionPayload
6869
from .types.threads import Thread as ThreadPayload
6970
from .types.user import PartialUser as PartialUserPayload
7071
from .user import User
71-
from .types.monetization import Subscription as SubscriptionPayload
7272

7373
T = TypeVar("T")
7474
OT = TypeVar("OT")
@@ -1053,7 +1053,7 @@ def __init__(
10531053
limit: int = None,
10541054
before: datetime.datetime | None = None,
10551055
after: datetime.datetime | None = None,
1056-
user_id: int | None = None
1056+
user_id: int | None = None,
10571057
):
10581058
if isinstance(before, datetime.datetime):
10591059
before = Object(id=time_snowflake(before, high=False))

discord/monetization.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@
3232
from .flags import SKUFlags
3333
from .iterators import SubscriptionIterator
3434
from .mixins import Hashable
35-
from .utils import cached_property, cached_slot_property, MISSING, _get_as_snowflake, parse_time
35+
from .utils import (
36+
MISSING,
37+
_get_as_snowflake,
38+
cached_property,
39+
cached_slot_property,
40+
parse_time,
41+
)
3642

3743
if TYPE_CHECKING:
3844
from datetime import datetime
@@ -133,7 +139,14 @@ def list_subscriptions(
133139
limit: :class:`int` | None
134140
The number of subscriptions to retrieve. If ``None``, retrieves all subscriptions.
135141
"""
136-
return SubscriptionIterator(self._state, self.id, user_id=user.id, before=before, after=after, limit=limit)
142+
return SubscriptionIterator(
143+
self._state,
144+
self.id,
145+
user_id=user.id,
146+
before=before,
147+
after=after,
148+
limit=limit,
149+
)
137150

138151

139152
class Entitlement(Hashable):
@@ -199,7 +212,9 @@ def __init__(self, *, data: EntitlementPayload, state: ConnectionState) -> None:
199212
self.starts_at: datetime | MISSING = (
200213
parse_time(data.get("starts_at")) or MISSING
201214
)
202-
self.ends_at: datetime | MISSING | None = parse_time(ea) if (ea := data.get("ends_at")) is not None else MISSING
215+
self.ends_at: datetime | MISSING | None = (
216+
parse_time(ea) if (ea := data.get("ends_at")) is not None else MISSING
217+
)
203218
self.guild_id: int | MISSING = _get_as_snowflake(data, "guild_id") or MISSING
204219
self.consumed: bool = data.get("consumed", False)
205220

@@ -269,6 +284,7 @@ class Subscription(Hashable):
269284
canceled_at: :class:`datetime.datetime` | ``None``
270285
When the subscription was canceled.
271286
"""
287+
272288
__slots__ = (
273289
"_state",
274290
"id",
@@ -292,7 +308,9 @@ def __init__(self, *, state: ConnectionState, data: SubscriptionPayload) -> None
292308
self.current_period_end: datetime = parse_time(data["current_period_end"])
293309
self.status: SubscriptionStatus = try_enum(SubscriptionStatus, data["status"])
294310
self.canceled_at: datetime | None = parse_time(data.get("canceled_at"))
295-
self.country: str | None = data.get("country") # Not documented, it is only available with oauth2, not bots
311+
self.country: str | None = data.get(
312+
"country"
313+
) # Not documented, it is only available with oauth2, not bots
296314

297315
def __repr__(self) -> str:
298316
return (
@@ -306,4 +324,3 @@ def __eq__(self, other: object) -> bool:
306324
def user(self):
307325
"""Optional[:class:`User`]: The user that owns this subscription."""
308326
return self._state.get_user(self.user_id)
309-

discord/types/monetization.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ class CreateTestEntitlementPayload(TypedDict):
6767
class Subscription(TypedDict):
6868
id: Snowflake
6969
user_id: Snowflake
70-
sku_ids: List[Snowflake]
71-
entitlement_ids: List[Snowflake]
70+
sku_ids: list[Snowflake]
71+
entitlement_ids: list[Snowflake]
7272
current_period_start: str
7373
current_period_end: str
7474
status: SubscriptionStatus

0 commit comments

Comments
 (0)