mirror of
https://github.com/LuanRT/YouTube.js.git
synced 2026-06-23 23:09:28 +00:00
feat(parser): Add RunAttestationCommand
Can be used to get attestation responses from BotGuard, assuming you have a VM (retrieved using the `/att/get` endpoint, with engagement type set to `ENGAGEMENT_TYPE_UNBOUND`) loaded up.
This commit is contained in:
37
src/parser/classes/commands/RunAttestationCommand.ts
Normal file
37
src/parser/classes/commands/RunAttestationCommand.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { YTNode } from '../../helpers.js';
|
||||
import type { RawNode } from '../../types/index.js';
|
||||
|
||||
export type AttIds = {
|
||||
encrypted_video_id?: string;
|
||||
external_channel_id?: string;
|
||||
comment_id?: string;
|
||||
external_owner_id?: string;
|
||||
artist_id?: string;
|
||||
playlist_id?: string;
|
||||
external_post_id?: string;
|
||||
share_id?: string;
|
||||
}
|
||||
|
||||
export default class RunAttestationCommand extends YTNode {
|
||||
static type = 'RunAttestationCommand';
|
||||
|
||||
public engagement_type: string;
|
||||
public ids?: AttIds[];
|
||||
|
||||
constructor(data: RawNode) {
|
||||
super();
|
||||
this.engagement_type = data.engagementType;
|
||||
if (Reflect.has(data, 'ids')) {
|
||||
this.ids = data.ids.map((id: RawNode) => ({
|
||||
encrypted_video_id: id.encryptedVideoId,
|
||||
external_channel_id: id.externalChannelId,
|
||||
comment_id: id.commentId,
|
||||
external_owner_id: id.externalOwnerId,
|
||||
artist_id: id.artistId,
|
||||
playlist_id: id.playlistId,
|
||||
external_post_id: id.externalPostId,
|
||||
share_id: id.shareId
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -70,6 +70,7 @@ export { default as AddToPlaylistCommand } from './classes/commands/AddToPlaylis
|
||||
export { default as CommandExecutorCommand } from './classes/commands/CommandExecutorCommand.js';
|
||||
export { default as ContinuationCommand } from './classes/commands/ContinuationCommand.js';
|
||||
export { default as GetKidsBlocklistPickerCommand } from './classes/commands/GetKidsBlocklistPickerCommand.js';
|
||||
export { default as RunAttestationCommand } from './classes/commands/RunAttestationCommand.js';
|
||||
export { default as ShowDialogCommand } from './classes/commands/ShowDialogCommand.js';
|
||||
export { default as AuthorCommentBadge } from './classes/comments/AuthorCommentBadge.js';
|
||||
export { default as CommentActionButtons } from './classes/comments/CommentActionButtons.js';
|
||||
|
||||
@@ -78,7 +78,6 @@ const IGNORED_LIST = new Set([
|
||||
'PrimetimePromo',
|
||||
'BackgroundPromo',
|
||||
'PromotedSparklesWeb',
|
||||
'RunAttestationCommand',
|
||||
'CompactPromotedVideo',
|
||||
'BrandVideoShelf',
|
||||
'BrandVideoSingleton',
|
||||
|
||||
Reference in New Issue
Block a user