diff --git a/packages/client/src/types/media/audio.ts b/packages/client/src/types/media/audio.ts index bb65fc35..fd77e57c 100644 --- a/packages/client/src/types/media/audio.ts +++ b/packages/client/src/types/media/audio.ts @@ -48,4 +48,4 @@ export class Audio extends RawDocument { } } -makeInspectable(Audio, ['fileSize', 'dcId'], ['inputMedia']) +makeInspectable(Audio, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument']) diff --git a/packages/client/src/types/media/document.ts b/packages/client/src/types/media/document.ts index 35ac91a6..891489e0 100644 --- a/packages/client/src/types/media/document.ts +++ b/packages/client/src/types/media/document.ts @@ -171,4 +171,4 @@ export class RawDocument extends FileLocation { */ export class Document extends RawDocument {} -makeInspectable(Document, ['fileSize', 'dcId'], ['inputMedia']) +makeInspectable(Document, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument']) diff --git a/packages/client/src/types/media/sticker.ts b/packages/client/src/types/media/sticker.ts index 2de4e4c6..bf968fe9 100644 --- a/packages/client/src/types/media/sticker.ts +++ b/packages/client/src/types/media/sticker.ts @@ -112,6 +112,13 @@ export class Sticker extends RawDocument { return this.attr.stickerset._ === 'inputStickerSetID' } + /** + * Input sticker set that it associated with this sticker, if available. + */ + get inputStickerSet(): tl.TypeInputStickerSet | null { + return this.attr.stickerset._ === 'inputStickerSetEmpty' ? null : this.attr.stickerset + } + private _maskPosition?: Sticker.MaskPosition /** * Position where this mask should be placed @@ -158,4 +165,4 @@ export class Sticker extends RawDocument { } } -makeInspectable(Sticker, ['fileSize', 'dcId'], ['inputMedia']) +makeInspectable(Sticker, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument']) diff --git a/packages/client/src/types/media/video.ts b/packages/client/src/types/media/video.ts index 81eca455..d561ee73 100644 --- a/packages/client/src/types/media/video.ts +++ b/packages/client/src/types/media/video.ts @@ -88,4 +88,4 @@ export class Video extends RawDocument { } } -makeInspectable(Video, ['fileSize', 'dcId'], ['inputMedia']) +makeInspectable(Video, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument']) diff --git a/packages/client/src/types/media/voice.ts b/packages/client/src/types/media/voice.ts index 7ad1b844..1163b0c5 100644 --- a/packages/client/src/types/media/voice.ts +++ b/packages/client/src/types/media/voice.ts @@ -39,4 +39,4 @@ export class Voice extends RawDocument { } } -makeInspectable(Voice, ['fileSize', 'dcId'], ['inputMedia']) +makeInspectable(Voice, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument']) diff --git a/packages/client/src/types/peers/chat-photo.ts b/packages/client/src/types/peers/chat-photo.ts index d55c07f9..6b0c77a5 100644 --- a/packages/client/src/types/peers/chat-photo.ts +++ b/packages/client/src/types/peers/chat-photo.ts @@ -179,4 +179,4 @@ export class ChatPhoto { } } -makeInspectable(ChatPhoto) +makeInspectable(ChatPhoto, [], ['thumb']) diff --git a/packages/client/src/types/utils.ts b/packages/client/src/types/utils.ts index 72402296..4a085369 100644 --- a/packages/client/src/types/utils.ts +++ b/packages/client/src/types/utils.ts @@ -56,10 +56,11 @@ export function makeInspectable( getters.forEach((it) => { try { let val = this[it] - if ( + if (Buffer.isBuffer(val)) { + val = val.toString('base64') + } else if ( val && typeof val === 'object' && - !Buffer.isBuffer(val) && typeof val.toJSON === 'function' ) { val = val.toJSON()