mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-13 01:22:11 +00:00
feat(parser): Update LiveChatTickerPaidMessageItem (#845)
* Change `duration_sec` property type from `string` to `number` * Change `full_duration_sec` property type from `string` to `number` * Handle the scenario where the author's name is represented as `authUsername` * Mark `amount` property as optional * Add `start_background_color` property * Add `amount_text_color` property * Add `end_background_color` property * Add `animation_origin` property * Add `open_engagement_panel_command` property
This commit is contained in:
@@ -9,28 +9,42 @@ import type { RawNode } from '../../../index.js';
|
||||
export default class LiveChatTickerPaidMessageItem extends YTNode {
|
||||
static type = 'LiveChatTickerPaidMessageItem';
|
||||
|
||||
id: string;
|
||||
author: Author;
|
||||
amount: Text;
|
||||
duration_sec: string;
|
||||
full_duration_sec: string;
|
||||
amount?: Text;
|
||||
amount_text_color: number;
|
||||
start_background_color: number;
|
||||
end_background_color: number;
|
||||
duration_sec: number;
|
||||
full_duration_sec: number;
|
||||
show_item: YTNode;
|
||||
show_item_endpoint: NavigationEndpoint;
|
||||
id: string;
|
||||
animation_origin: string;
|
||||
open_engagement_panel_command: NavigationEndpoint;
|
||||
|
||||
constructor(data: RawNode) {
|
||||
super();
|
||||
this.id = data.id;
|
||||
|
||||
this.author = new Author(
|
||||
data.authorName,
|
||||
data.authorName || data.authorUsername,
|
||||
data.authorBadges,
|
||||
data.authorPhoto,
|
||||
data.authorExternalChannelId
|
||||
);
|
||||
|
||||
this.amount = new Text(data.amount);
|
||||
if (Reflect.has(data, 'amount')) {
|
||||
this.amount = new Text(data.amount);
|
||||
}
|
||||
|
||||
this.amount_text_color = data.amountTextColor;
|
||||
this.start_background_color = data.startBackgroundColor;
|
||||
this.end_background_color = data.endBackgroundColor;
|
||||
this.duration_sec = data.durationSec;
|
||||
this.full_duration_sec = data.fullDurationSec;
|
||||
this.show_item = Parser.parseItem(data.showItemEndpoint?.showLiveChatItemEndpoint?.renderer);
|
||||
this.show_item_endpoint = new NavigationEndpoint(data.showItemEndpoint);
|
||||
this.id = data.id;
|
||||
this.animation_origin = data.animationOrigin;
|
||||
this.open_engagement_panel_command = new NavigationEndpoint(data.openEngagementPanelCommand);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user