fix(client): message media and action parsing

This commit is contained in:
teidesu 2021-05-10 17:57:12 +03:00
parent db0d5f51e4
commit 4ad562bf06
3 changed files with 8 additions and 6 deletions

View file

@ -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 {

View file

@ -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

View file

@ -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