From 2652d02808146b8f9c3f1f7e228e38468a812dbd Mon Sep 17 00:00:00 2001 From: vi Date: Wed, 13 May 2026 19:37:34 +0200 Subject: [PATCH 1/2] feat(application): use `flags_new` field --- disnake/appinfo.py | 2 +- disnake/state.py | 4 ++-- disnake/types/appinfo.py | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/disnake/appinfo.py b/disnake/appinfo.py index 4fa2255a93..0460ca3ff7 100644 --- a/disnake/appinfo.py +++ b/disnake/appinfo.py @@ -352,7 +352,7 @@ def __init__(self, state: ConnectionState, data: AppInfoPayload) -> None: self.terms_of_service_url: str | None = data.get("terms_of_service_url") self.privacy_policy_url: str | None = data.get("privacy_policy_url") - flags: int | None = data.get("flags") + flags: int | None = utils._get_as_snowflake(data, "flags_new") self.flags: ApplicationFlags | None = ( ApplicationFlags._from_value(flags) if flags is not None else None ) diff --git a/disnake/state.py b/disnake/state.py index b1332cf503..e5b3dec9bf 100644 --- a/disnake/state.py +++ b/disnake/state.py @@ -768,7 +768,7 @@ def parse_ready(self, data: gateway.ReadyEvent) -> None: else: if self.application_id is None: self.application_id = utils._get_as_snowflake(application, "id") - self.application_flags = ApplicationFlags._from_value(application["flags"]) + self.application_flags = ApplicationFlags._from_value(int(application["flags_new"])) for guild_data in data["guilds"]: self._add_guild_from_data(guild_data) @@ -2580,7 +2580,7 @@ def parse_ready(self, data: gateway.ReadyEvent) -> None: else: if self.application_id is None: self.application_id = utils._get_as_snowflake(application, "id") - self.application_flags = ApplicationFlags._from_value(application["flags"]) + self.application_flags = ApplicationFlags._from_value(int(application["flags_new"])) for guild_data in data["guilds"]: self._add_guild_from_data(guild_data) diff --git a/disnake/types/appinfo.py b/disnake/types/appinfo.py index 723acae2ee..6fe58ff476 100644 --- a/disnake/types/appinfo.py +++ b/disnake/types/appinfo.py @@ -45,6 +45,7 @@ class AppInfo(BaseAppInfo): owner: User team: NotRequired[Team] flags: NotRequired[int] + flags_new: NotRequired[str] # like `flags`, but also contains flags beyond bit 30 guild_id: NotRequired[Snowflake] primary_sku_id: NotRequired[Snowflake] slug: NotRequired[str] @@ -68,12 +69,14 @@ class PartialAppInfo(BaseAppInfo, total=False): rpc_origins: list[str] cover_image: str flags: int + flags_new: str # like `flags`, but also contains flags beyond bit 30 # see https://docs.discord.com/developers/events/gateway-events#ready-ready-event-fields class PartialGatewayAppInfo(TypedDict): id: Snowflake flags: int + flags_new: str # like `flags`, but also contains flags beyond bit 30 class EditAppInfo(TypedDict, total=False): From a4195c8fc894dda951035a4148e67f4182a1942e Mon Sep 17 00:00:00 2001 From: vi Date: Wed, 13 May 2026 19:38:54 +0200 Subject: [PATCH 2/2] chore: add changelog entry --- changelog/1519.misc.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/1519.misc.rst diff --git a/changelog/1519.misc.rst b/changelog/1519.misc.rst new file mode 100644 index 0000000000..3a09092793 --- /dev/null +++ b/changelog/1519.misc.rst @@ -0,0 +1 @@ +Support :class:`ApplicationFlags` beyond bit 30 by using ``flags_new``.