Я делаю бот Discord, которому нужен код Powershell, переведенный на Javascript - PullRequest
0 голосов
/ 11 апреля 2019

Я нашел этот код (Powershell) где-то в Интернете, который дает вам все URL-адреса видео из плейлиста Youtube.Это именно то, что я искал, но мне нужно использовать его в Javascript.Я не знаю, как кодировать в Powershell, поэтому я спрашиваю об этом здесь.

Я собираюсь использовать этот код в своем боте Discord для воспроизведения музыки.Он возьмет плейлист Youtube и поместит все URL в очередь.У меня уже есть код для воспроизведения отдельных видео.

Я уже пытался использовать плагин для Javascript под названием 'node-powershell'.Этот плагин запускает код Powershell в Javascript.Этот метод не работал для меня.

$Playlist = ((Invoke-WebRequest "https://www.youtube.com/playlist?list=PLvl4I7g6dfPRLP6etCkU8ZsIben8PWBmI").Links | Where {$_.class -match "pl-video-title-link"}).href ForEach ($Video in $Playlist) { $s ="https://www.youtube.com" + $Video $s
=$s.Substring(0, $s.IndexOf('&'))   Write-Output ($s) }

Метод 'node-powershell' дал мне ошибки.Поэтому я хочу, чтобы этот код Powershell был переведен на Javascript.

1 Ответ

1 голос
/ 11 апреля 2019

рвало мне в рот, немного читая этот вопрос. Та же самая часть меня, которая говорит детям не использовать грязные иглы, побуждает меня сказать вам просто преобразовать Powershell в JavaScript. Тем не менее, на ваш вопрос:

const { spawn } = require("child_process");

const cmd = `$Playlist = ((Invoke-WebRequest "https://www.youtube.com/playlist?list=PLvl4I7g6dfPRLP6etCkU8ZsIben8PWBmI").Links | Where {$_.class -match "pl-video-title-link"}).href; ForEach ($Video in $Playlist) { $s ="https://www.youtube.com" + $Video; $s=$s.Substring(0, $s.IndexOf('&')); Write-Output ($s); }`

const cp = spawn('C:\\Program Files\\PowerShell\\6\\pwsh.exe',['-Command', cmd]);
cp.stdout.on("data", (data) => { console.log("Data: " + data); } );
cp.stderr.on("data", (data) => { console.log("Errors: " + data); } );
cp.stdin.end();
cp.on("exit", () => { console.log("Powershell Script finished"); });
cp.stdin.end(); //end input
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...