feat(parser): add LiveChatModeChangeMessage node (#811)

* feat(parser): add `LiveChatModeChangeMessage` node

* chore: npm run build:parser-map

* refactor: keep `timestamp_text` as Text

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>

* refactor: keep `timestamp_text` as Text

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
This commit is contained in:
jonz94
2024-11-20 04:06:29 +08:00
committed by GitHub
parent cfb48fab89
commit 7156a585c0
2 changed files with 27 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
import { YTNode } from '../../../helpers.js';
import type { RawNode } from '../../../index.js';
import Text from '../../misc/Text.js';
export default class LiveChatModeChangeMessage extends YTNode {
static type = 'LiveChatModeChangeMessage';
id: string;
icon_type: string;
text: Text;
subtext: Text;
timestamp: number;
timestamp_usec: string;
timestamp_text: Text;
constructor(data: RawNode) {
super();
this.id = data.id;
this.icon_type = data.icon.iconType;
this.text = new Text(data.text);
this.subtext = new Text(data.subtext);
this.timestamp = Math.floor(parseInt(data.timestampUsec) / 1000);
this.timestamp_usec = data.timestampUsec;
this.timestamp_text = new Text(data.timestampText);
}
}

View File

@@ -187,6 +187,7 @@ export { default as LiveChatBannerHeader } from './classes/livechat/items/LiveCh
export { default as LiveChatBannerPoll } from './classes/livechat/items/LiveChatBannerPoll.js';
export { default as LiveChatBannerRedirect } from './classes/livechat/items/LiveChatBannerRedirect.js';
export { default as LiveChatMembershipItem } from './classes/livechat/items/LiveChatMembershipItem.js';
export { default as LiveChatModeChangeMessage } from './classes/livechat/items/LiveChatModeChangeMessage.js';
export { default as LiveChatPaidMessage } from './classes/livechat/items/LiveChatPaidMessage.js';
export { default as LiveChatPaidSticker } from './classes/livechat/items/LiveChatPaidSticker.js';
export { default as LiveChatPlaceholderItem } from './classes/livechat/items/LiveChatPlaceholderItem.js';