axion-play
v0.1.0
Published
Node.js helper to resolve and download YouTube videos and Instagram reels from their URLs
Maintainers
Readme
axion-play
Pacote Node.js para resolver URLs diretas e baixar midias a partir de links publicos de videos do YouTube e reels/posts do Instagram.
Use apenas para conteudo que voce tem permissao para baixar e distribuir. O comportamento dessas plataformas pode mudar sem aviso.
Instalacao
npm install axion-playUso rapido (ESM)
import { AxionPlay } from "axion-play";
const client = new AxionPlay();
const info = await client.resolve("https://www.youtube.com/watch?v=aqz-KE-bpKQ");
console.log(info.items[0].downloadUrl);
const saved = await client.download(
"https://www.instagram.com/reel/CdmYaq3LAYo/",
"./downloads/"
);
console.log(saved.filePath);Uso rapido (CommonJS)
const { AxionPlay } = require("axion-play");API
detectProvider(url): retorna"youtube"ou"instagram".new AxionPlay(options?): cria uma instancia configuravel.client.resolve(url, options?): resolve metadados e URLs diretas.client.getInfo(url, options?): alias deresolve.client.searchVideos(query, options?): busca videos no YouTube.client.searchFirst(query, options?): resolve o primeiro resultado de busca.client.searchAndDownload(query, destination?, options?): busca e baixa o primeiro resultado.client.play(query, destination?, options?): alias curto desearchAndDownload.client.download(url, destination?, options?): baixa o item selecionado para disco.client.sendToBaileys(sock, jid, input, options?): envia por Baileys a partir de URL ou busca.client.sendToVenom(client, to, input, options?): envia por Venom a partir de URL ou busca.client.downloadAndSendToBaileys(...): baixa primeiro e envia o arquivo local.client.downloadAndSendToVenom(...): baixa primeiro e envia o arquivo local.client.playToBaileys(...)/client.playToVenom(...): aliases curtos com modo automatico.client.playFileToBaileys(...)/client.playFileToVenom(...): baixa e envia arquivo local com nome curto.
Opcoes
youtube: sobrescrevequality,format,typeeclientOptionspara o resolvedor do YouTube.instagram: sobrescreverequestConfigpara o resolvedor do Instagram.fetchImpl: injeta uma implementacao customizada defetch.userAgent: define oUser-Agentusado no download final.
Notas
- Para YouTube, o pacote usa
youtubei.js. - Para Instagram, o pacote usa
instagram-url-direct. - O item baixado por padrao e o primeiro da lista retornada. Use
itemIndexemdownload()para escolher outro.
Buscar e baixar pelo nome
import { AxionPlay } from "axion-play";
const client = new AxionPlay();
const search = await client.searchVideos("big buck bunny", { maxResults: 3 });
console.log(search.items[0]);
const saved = await client.searchAndDownload("big buck bunny", "./downloads");
console.log(saved.filePath);Integracao com Baileys
import { AxionPlay } from "axion-play";
const player = new AxionPlay();
await player.sendToBaileys(sock, "[email protected]", "big buck bunny", {
mode: "query",
caption: "Achei esse video para voce"
});Integracao com Venom
import { AxionPlay } from "axion-play";
const player = new AxionPlay();
await player.sendToVenom(client, "[email protected]", "https://youtu.be/aqz-KE-bpKQ", {
mode: "url"
});Exemplo de comando em bot WhatsApp
if (body.startsWith("!play ")) {
const query = body.slice(6).trim();
await player.sendToBaileys(sock, message.key.remoteJid, query, {
mode: "query",
messageOptions: { quoted: message }
});
}