vvlad1973-telegram-framework
Version:
Current version: *7.9.5*
101 lines (86 loc) • 2.27 kB
JavaScript
'use strict'
import { MediaTypes } from './enums.js';
export class InputMedia {
type;
media;
caption;
parse_mode;
caption_entities;
constructor(type, media, caption, parse_mode, caption_entities) {
switch (type) {
case MediaTypes.PHOTO: {
this.type = MediaTypes.PHOTO;
break;
}
case MediaTypes.VIDEO: {
this.type = MediaTypes.VIDEO;
break;
}
case MediaTypes.AUDIO: {
this.type = MediaTypes.AUDIO;
break;
}
case MediaTypes.ANIMATION: {
this.type = MediaTypes.ANIMATION;
break;
}
case MediaTypes.DOCUMENT: {
this.type = MediaTypes.DOCUMENT;
break;
}
default: { this.type = MediaTypes.PHOTO }
}
this.media = media;
this.caption = caption;
this.parse_mode = parse_mode;
this.caption_entities = caption_entities;
}
}
export class InputMediaPhoto extends InputMedia {
constructor(media, caption, parse_mode, caption_entities) {
super(MediaTypes.PHOTO, media, caption, parse_mode, caption_entities);
}
}
export class InputMediaEx extends InputMedia {
thumd;
duration;
constructor(
type, media, thumb, caption, parse_mode, caption_entities, duration
) {
super(type, media, caption, parse_mode, caption_entities);
this.thumb = thumb;
this.duration = duration;
}
}
export class InputMediaAnimation extends InputMediaEx {
width;
height;
constructor(
media, thumb, caption, parse_mode, caption_entities, width, height,
duration
) {
super(
MediaTypes.ANIMATION, media, thumb, caption, parse_mode,
caption_entities, duration
);
this.width = width;
this.height = height;
}
}
export class InputMediaVideo extends InputMediaEx {
width;
height;
supports_streaming;
constructor(
media, thumb, caption, parse_mode, caption_entities, width, height,
duration, supports_streaming
) {
super(
MediaTypes.VIDEO, media, thumb, caption, parse_mode,
caption_entities, duration
);
this.width = width;
this.height = height;
this.supports_streaming = supports_streaming;
}
}