From 8993d48e1270118afc9aef6d02d534d7bc89a538 Mon Sep 17 00:00:00 2001 From: Soheab_ <33902984+Soheab@users.noreply.github.com> Date: Sun, 22 Jun 2025 23:40:52 +0200 Subject: [PATCH] Remove extraneous conversion between timestamp and datetime for every request --- discord/abc.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/discord/abc.py b/discord/abc.py index 916a1b3ad..a601f57ca 100644 --- a/discord/abc.py +++ b/discord/abc.py @@ -1766,7 +1766,11 @@ class Messageable: state = self._state max_limit: int = 50 - time: Optional[SnowflakeTime] = before if before is not MISSING else None + time: Optional[str] = ( + (before if isinstance(before, datetime) else utils.snowflake_time(before.id)).isoformat() + if before is not None + else None + ) while True: limit = max_limit if limit is None else min(limit, max_limit) if limit < 1: @@ -1775,9 +1779,7 @@ class Messageable: data = await self._state.http.pins_from( channel_id=channel.id, limit=limit, - before=(time if isinstance(time, datetime) else utils.snowflake_time(time.id)).isoformat() - if time is not None - else None, + before=time, ) if data and data["items"]: @@ -1785,7 +1787,7 @@ class Messageable: if limit is not None: limit -= len(items) - time = utils.parse_time(items[-1]['pinned_at']) + time = items[-1]['pinned_at'] items = data['items'] # Terminate loop on next iteration; there's no data left after this