fix(client): message media and action parsing
This commit is contained in:
parent
db0d5f51e4
commit
4ad562bf06
3 changed files with 8 additions and 6 deletions
|
@ -1,6 +1,7 @@
|
||||||
import { tl } from '@mtcute/tl'
|
import { tl } from '@mtcute/tl'
|
||||||
import { Photo } from '../media'
|
import { Photo } from '../media'
|
||||||
import { _callDiscardReasonFromTl, CallDiscardReason } from '../calls/discard-reason'
|
import { _callDiscardReasonFromTl, CallDiscardReason } from '../calls/discard-reason'
|
||||||
|
import { Message } from './message'
|
||||||
|
|
||||||
export namespace MessageAction {
|
export namespace MessageAction {
|
||||||
/** Group was created */
|
/** Group was created */
|
||||||
|
@ -278,7 +279,7 @@ export type MessageAction =
|
||||||
| null
|
| null
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export function _messageActionFromTl(act: tl.TypeMessageAction): MessageAction {
|
export function _messageActionFromTl(this: Message, act: tl.TypeMessageAction): MessageAction {
|
||||||
switch (act._) {
|
switch (act._) {
|
||||||
case 'messageActionChatCreate':
|
case 'messageActionChatCreate':
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -17,6 +17,7 @@ import {
|
||||||
} from '../media'
|
} from '../media'
|
||||||
import { tl } from '@mtcute/tl'
|
import { tl } from '@mtcute/tl'
|
||||||
import { parseDocument } from '../media/document-utils'
|
import { parseDocument } from '../media/document-utils'
|
||||||
|
import { Message } from './message'
|
||||||
|
|
||||||
/** A media inside of a {@link Message} */
|
/** A media inside of a {@link Message} */
|
||||||
export type MessageMedia =
|
export type MessageMedia =
|
||||||
|
@ -39,7 +40,7 @@ export type MessageMedia =
|
||||||
// todo: successful_payment, connected_website
|
// todo: successful_payment, connected_website
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export function _messageMediaFromTl(m: tl.TypeMessageMedia): MessageMedia {
|
export function _messageMediaFromTl(this: Message, m: tl.TypeMessageMedia): MessageMedia {
|
||||||
switch (m._) {
|
switch (m._) {
|
||||||
case 'messageMediaPhoto':
|
case 'messageMediaPhoto':
|
||||||
if (!(m.photo?._ === 'photo')) return null
|
if (!(m.photo?._ === 'photo')) return null
|
||||||
|
|
|
@ -390,11 +390,11 @@ export class Message {
|
||||||
if (this.raw._ === 'message') {
|
if (this.raw._ === 'message') {
|
||||||
this._action = null
|
this._action = null
|
||||||
} else {
|
} else {
|
||||||
this._action = _messageActionFromTl(this.raw.action)
|
this._action = _messageActionFromTl.call(this, this.raw.action)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return this._action
|
return this._action!
|
||||||
}
|
}
|
||||||
|
|
||||||
private _media?: MessageMedia
|
private _media?: MessageMedia
|
||||||
|
@ -413,11 +413,11 @@ export class Message {
|
||||||
) {
|
) {
|
||||||
this._media = null
|
this._media = null
|
||||||
} else {
|
} 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
|
private _markup?: ReplyMarkup | null
|
||||||
|
|
Loading…
Reference in a new issue