diff --git a/packages/client/src/types/messages/message.ts b/packages/client/src/types/messages/message.ts index 83499670..55f00263 100644 --- a/packages/client/src/types/messages/message.ts +++ b/packages/client/src/types/messages/message.ts @@ -437,6 +437,18 @@ export class Message { return this._media! } + /** + * Whether this is a premium media + * (e.g. >2gb file or fullscreen sticker) + */ + get isPremiumMedia(): boolean { + return ( + this.raw._ === 'message' && + this.raw.media?._ === 'messageMediaDocument' && + this.raw.media.nopremium! + ) + } + private _markup?: ReplyMarkup | null /** * Reply markup provided with this message, if any. diff --git a/packages/client/src/types/peers/user.ts b/packages/client/src/types/peers/user.ts index 05c437a2..46ff9ba6 100644 --- a/packages/client/src/types/peers/user.ts +++ b/packages/client/src/types/peers/user.ts @@ -105,6 +105,11 @@ export class User { return this.raw.support! } + /** Whether this user has Premium subscription */ + get isPremium(): boolean { + return this.raw.premium! + } + /** User's or bot's first name */ get firstName(): string { return this.raw.firstName ?? 'Deleted Account'