diff --git a/packages/client/src/types/messages/message-action.ts b/packages/client/src/types/messages/message-action.ts index b7ea40b4..f7828e23 100644 --- a/packages/client/src/types/messages/message-action.ts +++ b/packages/client/src/types/messages/message-action.ts @@ -1,6 +1,7 @@ import { tl } from '@mtcute/tl' import { Photo } from '../media' import { _callDiscardReasonFromTl, CallDiscardReason } from '../calls/discard-reason' +import { Message } from './message' export namespace MessageAction { /** Group was created */ @@ -278,7 +279,7 @@ export type MessageAction = | null /** @internal */ -export function _messageActionFromTl(act: tl.TypeMessageAction): MessageAction { +export function _messageActionFromTl(this: Message, act: tl.TypeMessageAction): MessageAction { switch (act._) { case 'messageActionChatCreate': return { diff --git a/packages/client/src/types/messages/message-media.ts b/packages/client/src/types/messages/message-media.ts index 5579cb6b..b65625cb 100644 --- a/packages/client/src/types/messages/message-media.ts +++ b/packages/client/src/types/messages/message-media.ts @@ -17,6 +17,7 @@ import { } from '../media' import { tl } from '@mtcute/tl' import { parseDocument } from '../media/document-utils' +import { Message } from './message' /** A media inside of a {@link Message} */ export type MessageMedia = @@ -39,7 +40,7 @@ export type MessageMedia = // todo: successful_payment, connected_website /** @internal */ -export function _messageMediaFromTl(m: tl.TypeMessageMedia): MessageMedia { +export function _messageMediaFromTl(this: Message, m: tl.TypeMessageMedia): MessageMedia { switch (m._) { case 'messageMediaPhoto': if (!(m.photo?._ === 'photo')) return null diff --git a/packages/client/src/types/messages/message.ts b/packages/client/src/types/messages/message.ts index 9a74b8ae..517a6b05 100644 --- a/packages/client/src/types/messages/message.ts +++ b/packages/client/src/types/messages/message.ts @@ -390,11 +390,11 @@ export class Message { if (this.raw._ === 'message') { this._action = null } else { - this._action = _messageActionFromTl(this.raw.action) + this._action = _messageActionFromTl.call(this, this.raw.action) } } - return this._action + return this._action! } private _media?: MessageMedia @@ -413,11 +413,11 @@ export class Message { ) { this._media = null } else { - this._media = _messageMediaFromTl(this.raw.media) + this._media = _messageMediaFromTl.call(this, this.raw.media) } } - return this._media + return this._media! } private _markup?: ReplyMarkup | null