From c3e9a790fcef4f8988b243c4dbb1d1214af4d274 Mon Sep 17 00:00:00 2001 From: Fleny Date: Fri, 24 Jul 2026 14:34:42 +0200 Subject: [PATCH] feat: Application flags_new property (#5172) * feat: Application flags_new property * Update packages/types/src/discord/application.ts * run biome --- packages/bot/src/transformers/application.ts | 3 +++ packages/bot/src/transformers/types.ts | 1 + packages/types/src/discord/application.ts | 12 +++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/bot/src/transformers/application.ts b/packages/bot/src/transformers/application.ts index 48e7adaa7..bf79f4c11 100644 --- a/packages/bot/src/transformers/application.ts +++ b/packages/bot/src/transformers/application.ts @@ -1,6 +1,7 @@ import { type DiscordApplication, DiscordApplicationIntegrationType, type DiscordUser } from '@discordeno/types'; import { iconHashToBigInt } from '@discordeno/utils'; import type { Bot } from '../bot.js'; +import { ToggleBitfield } from './toggles/ToggleBitfield.js'; import type { Application } from './types.js'; export function transformApplication(bot: Bot, payload: DiscordApplication, extra?: { shardId?: number }): Application { @@ -17,6 +18,8 @@ export function transformApplication(bot: Bot, payload: DiscordApplication, extr slug: payload.slug, coverImage: payload.cover_image ? iconHashToBigInt(payload.cover_image) : undefined, flags: payload.flags, + // flags_new is a string with the bitfield inside + flagsNew: payload.flags_new ? new ToggleBitfield(Number(payload.flags_new)) : undefined, id: bot.transformers.snowflake(payload.id), icon: payload.icon ? iconHashToBigInt(payload.icon) : undefined, diff --git a/packages/bot/src/transformers/types.ts b/packages/bot/src/transformers/types.ts index 3f7be6a71..19c132217 100644 --- a/packages/bot/src/transformers/types.ts +++ b/packages/bot/src/transformers/types.ts @@ -151,6 +151,7 @@ export interface ActivityLocation { export interface Application { flags?: ApplicationFlags; + flagsNew?: ToggleBitfield; icon?: bigint; rpcOrigins?: string[]; termsOfServiceUrl?: string; diff --git a/packages/types/src/discord/application.ts b/packages/types/src/discord/application.ts index aaac62769..8e50cac12 100644 --- a/packages/types/src/discord/application.ts +++ b/packages/types/src/discord/application.ts @@ -44,8 +44,18 @@ export interface DiscordApplication { slug?: string; /** If this application is a game sold on Discord, this field will be the hash of the image on store embeds */ cover_image?: string; - /** The application's public flags */ + /** + * App's legacy public flags + * + * @see {@link ApplicationFlags} + */ flags?: ApplicationFlags; + /** + * App's public flags + * + * @see {@link ApplicationFlags} + */ + flags_new?: string; /** An approximate count of the app's guild membership. */ approximate_guild_count?: number; /** Approximate count of users that have installed the app. (authorized with `application.commands` as a scope) */