devworldbr-sdk
v1.0.1
Published
SDK oficial dos serviços da DevWorld BR.
Readme
DevWorldBR SDK
SDK em Node.js para facilitar o uso das APIs da DevWorld BR. Com ele, você pode realizar pesquisas, utilizar inteligências artificiais, baixar mídias, gerar logos, figurinhas, QR Codes e muito mais.
📦 Instalação
Instale o pacote pelo npm:
npm install devworldbr-sdk
O SDK utiliza a dependência "@jpzinhdwbr/utils" em funcionalidades como upload de arquivos.
🚀 Importação
O pacote utiliza CommonJS:
const dwbr = require('devworldbr-sdk');
Exemplo básico:
const dwbr = require('devworldbr-sdk');
async function main() { try { const resultado = await dwbr.groq('Olá!');
console.log(resultado);} catch (error) { console.error('Erro:', error.message); } }
main();
«Importante: as funções que fazem requisições são assíncronas. Utilize "await" ou ".then()" para acessar seus resultados.»
📚 Categorias
- "Downloads" (#-downloads)
- "Pesquisas" (#-pesquisas)
- "Inteligências Artificiais" (#-inteligências-artificiais)
- "Geradores" (#-geradores)
- "Ferramentas" (#-ferramentas)
- "Animes" (#-animes)
- "Figurinhas" (#-figurinhas)
- "Logos" (#-logos)
- "Upload de arquivos" (#-upload-de-arquivos)
- "Retornos JSON e Buffer" (#-retornos-json-e-buffer)
- "Tratamento de erros" (#-tratamento-de-erros)
📥 Downloads
Funções para consultar informações e obter mídias de diferentes plataformas.
YouTube
Função| Parâmetro| Retorno "playAudio(query)"| Pesquisa| JSON "playAudioV2(query)"| Pesquisa| Buffer "playVideo(query)"| Pesquisa| Buffer "playVideoV2(query)"| Pesquisa| Buffer "ytdl(link)"| Link do vídeo| JSON "ytvideo(link)"| Link do vídeo| Buffer "ytaudio(link)"| Link do vídeo| Buffer
Exemplo — pesquisa de áudio:
const resultado = await dwbr.playAudio('música para estudar');
console.log(resultado);
Exemplo — áudio em Buffer:
const audio = await dwbr.playAudioV2('música para estudar');
console.log(Buffer.isBuffer(audio));
Exemplo — informações do vídeo:
const resultado = await dwbr.ytdl( 'https://www.youtube.com/watch?v=VIDEO_ID' );
console.log(resultado);
TikTok
Função| Parâmetro| Retorno "tiktok(link)"| Link da publicação| JSON "tiktok_video(link)"| Link da publicação| Buffer "tiktok_audio(link)"| Link da publicação| Buffer "tiktok_images(link)"| Link da publicação| JSON
Exemplo — informações da publicação:
const resultado = await dwbr.tiktok('URL_DO_TIKTOK');
console.log(resultado);
Exemplo — arquivo de vídeo:
const video = await dwbr.tiktok_video('URL_DO_TIKTOK');
console.log(Buffer.isBuffer(video));
Função| Parâmetro| Retorno "igdl(link)"| Link da publicação| JSON "ig_video(link)"| Link da publicação| Buffer "ig_audio(link)"| Link da publicação| Buffer
Exemplo:
const resultado = await dwbr.igdl('URL_DO_INSTAGRAM');
console.log(resultado);
Para obter o vídeo em Buffer:
const video = await dwbr.ig_video('URL_DO_INSTAGRAM');
console.log(Buffer.isBuffer(video));
Kwai
Função| Parâmetro| Retorno "kwaiDl(link)"| Link da publicação| JSON
const resultado = await dwbr.kwaiDl('URL_DO_KWAI');
console.log(resultado);
Função| Parâmetro| Retorno "pinterest(query_ou_url)"| Pesquisa ou link| JSON "pin_video(link)"| Link da publicação| Buffer "pin_audio(link)"| Link da publicação| Buffer
Exemplo — pesquisa ou download:
const resultado = await dwbr.pinterest('paisagem bonita');
console.log(resultado);
Exemplo — vídeo em Buffer:
const video = await dwbr.pin_video('URL_DO_PIN');
console.log(Buffer.isBuffer(video));
Spotify, SoundCloud, MediaFire, CapCut e Facebook
Função| Parâmetro| Retorno "spotifyDl(link)"| Link do conteúdo| JSON "soundcloudDl(link)"| Link do conteúdo| JSON "mediafireDl(link)"| Link do arquivo| JSON "capcutDl(link)"| Link do conteúdo| JSON "facebookDl(link)"| Link da publicação| JSON "fbvideo(link)"| Link da publicação| Buffer "fbaudio(link)"| Link da publicação| Buffer
Exemplo — Spotify:
const resultado = await dwbr.spotifyDl( 'https://open.spotify.com/track/ID_DA_MUSICA' );
console.log(resultado);
Exemplo — Facebook:
const video = await dwbr.fbvideo('URL_DO_FACEBOOK');
console.log(Buffer.isBuffer(video));
«Substitua os endereços ilustrativos por links válidos e compatíveis com cada endpoint.»
🔎 Pesquisas
Funções para pesquisar vídeos e wallpapers.
Função| Parâmetro| Endpoint "ytSearch(query)"| Texto da pesquisa| "pesquisas/youtube/v1" "ytSearch2(query)"| Texto da pesquisa| "pesquisas/youtube/v2" "wallpaper(query)"| Texto da pesquisa| "pesquisas/wallpaper/v1"
Exemplo — YouTube:
const resultado = await dwbr.ytSearch('música brasileira');
console.log(resultado);
Segunda versão:
const resultado = await dwbr.ytSearch2('lofi para estudar');
console.log(resultado);
Pesquisa de wallpapers:
const resultado = await dwbr.wallpaper('anime wallpaper 4k');
console.log(resultado);
As três funções retornam JSON.
🤖 Inteligências Artificiais
Utilize diferentes modelos de inteligência artificial por meio das funções disponíveis no SDK.
Função| Parâmetro| Endpoint "groq(query)"| Mensagem ou pergunta| "inteligencias-artificiais/groq/v1" "chatgpt(query)"| Mensagem ou pergunta| "inteligencias-artificiais/chatgpt/v1" "gemini(query)"| Mensagem ou pergunta| "inteligencias-artificiais/gemini/v1"
Groq:
const resposta = await dwbr.groq( 'Explique o que é JavaScript.' );
console.log(resposta);
ChatGPT:
const resposta = await dwbr.chatgpt( 'Crie uma mensagem de boas-vindas.' );
console.log(resposta);
Gemini:
const resposta = await dwbr.gemini( 'Qual é a diferença entre let e const?' );
console.log(resposta);
Todas essas funções retornam JSON. Os campos disponíveis dependem da resposta fornecida pelo endpoint.
🛠️ Geradores
Gerador de nicks
Gera sugestões de nomes a partir do texto informado.
const resultado = await dwbr.gNicks('Jpzinh');
console.log(resultado);
- Parâmetro: "nick"
- Endpoint: "geradores/nicks/v1"
- Retorno: JSON
Gerador de QR Code
Gera um QR Code utilizando o conteúdo informado.
const resultado = await dwbr.qrcode('https://exemplo.com');
console.log(resultado);
- Parâmetro: "texto"
- Endpoint: "geradores/qr-code/v2"
- Retorno: JSON
Para saber como acessar a imagem ou os dados gerados, confira as propriedades presentes no objeto retornado pela API.
🔧 Ferramentas
Shazam
Consulta a API de identificação de músicas utilizando uma URL.
const resultado = await dwbr.shazam('URL_DO_AUDIO');
console.log(resultado);
- Parâmetro: "url"
- Endpoint: "ferramentas/shazam/v1"
- Retorno: JSON
Transcrição de áudio
Solicita a transcrição do conteúdo de áudio informado.
const resultado = await dwbr.toText('URL_DO_AUDIO');
console.log(resultado);
- Parâmetro: "url"
- Endpoint: "ferramentas/transcrever/v1"
- Retorno: JSON
🎌 Animes
Metadinha aleatória
Obtém uma metadinha aleatória por meio da API.
const resultado = await dwbr.metadinha();
console.log(resultado);
- Parâmetros: nenhum
- Endpoint: "animes/random/metadinha"
- Retorno: JSON
🖼️ Figurinhas
As funções desta categoria retornam arquivos em Buffer, que podem ser salvos como arquivos ou enviados por bibliotecas compatíveis.
Função| Parâmetro| Retorno "brat(text)"| Texto| Buffer "bratVideo(text)"| Texto| Buffer "figAleatoria()"| Nenhum| Buffer "figEmoji()"| Nenhum| Buffer "figAnime()"| Nenhum| Buffer "figEngracada()"| Nenhum| Buffer "figRaiva()"| Nenhum| Buffer "figDesenho()"| Nenhum| Buffer "figAnimais()"| Nenhum| Buffer "figBebe()"| Nenhum| Buffer "figCoreana()"| Nenhum| Buffer "figFlork()"| Nenhum| Buffer
Brat
const imagem = await dwbr.brat('DevWorld BR');
console.log(Buffer.isBuffer(imagem));
Para gerar a versão em vídeo:
const video = await dwbr.bratVideo('DevWorld BR');
console.log(Buffer.isBuffer(video));
Figurinhas aleatórias e temáticas
const aleatoria = await dwbr.figAleatoria(); const emoji = await dwbr.figEmoji(); const anime = await dwbr.figAnime(); const engraçada = await dwbr.figEngracada(); const raiva = await dwbr.figRaiva(); const desenho = await dwbr.figDesenho(); const animais = await dwbr.figAnimais(); const bebe = await dwbr.figBebe(); const coreana = await dwbr.figCoreana(); const flork = await dwbr.figFlork();
Cada variável recebe o Buffer do arquivo retornado pelo endpoint correspondente.
🎨 Logos
A categoria de logos possui dois grupos de modelos: um para textos únicos e outro para dois textos.
Todas as funções desta categoria retornam Buffer.
Logos de um texto
Utilize o nome do modelo como método:
const logo = await dwbr.logos1texto.darkgreen('DevWorld BR');
console.log(Buffer.isBuffer(logo));
Também é possível selecionar o modelo dinamicamente:
const modelo = 'darkgreen'; const texto = 'DevWorld BR';
const logo = await dwbr.logos1texto(modelo, texto);
Modelos disponíveis
Para obter a lista diretamente pelo SDK:
console.log(dwbr.logos1texto.modelos);
Modelos disponíveis:
darkgreen, glitch, write, advancedglow, typography, pixelglitch, neonglitch, flag, flag3d, deleting, blackpink, glowing, underwater, logomaker, cartoon, papercut, watercolor, affectclouds, blackpinklogo, gradient, summerbeach, luxurygold, multicoloredneon, sandsummer, galaxywallpaper, 1917, markingneon, royal, freecreate, galaxy, lighteffects, dragonball, neondevil, frozen, wooden3d, metal3d, ligatures, 3druby, sunset, hackerneon, cemetery, halloween, horror, blood, joker, clouds, grafite, grafite2, estrelas, colorido, desfoque, zombie, naruto, aniversario, amongus
Logos de dois textos
Informe o texto principal e o segundo texto:
const logo = await dwbr.logos2texto.pornhub('DevWorld', 'BR');
console.log(Buffer.isBuffer(logo));
Ou selecione o modelo dinamicamente:
const logo = await dwbr.logos2texto( 'pornhub', 'DevWorld', 'BR' );
Modelos disponíveis
console.log(dwbr.logos2texto.modelos);
Modelos disponíveis:
pornhub, blackpink2, deadpool, amongus2, thor, neon, stone3d, captainamerica, graffiti, avengers, vintage, tiktok, buoys, wood, space3d, wolf, steel, lattering
Validação dos modelos
Se o modelo informado não existir, a função lança um erro indicando que o modelo é inválido.
O primeiro texto precisa ser uma string não vazia. Para os modelos de dois textos, o segundo texto é opcional e, quando omitido, é enviado como uma string vazia.
📤 Upload de arquivos
A função "upload()" permite enviar um arquivo em formato Buffer.
Exemplo
const fs = require('node:fs');
async function enviarArquivo() { try { const arquivo = fs.readFileSync('./imagem.png');
const resultado = await dwbr.upload(arquivo, {
access_token: 'SEU_ACCESS_TOKEN'
});
console.log(resultado);} catch (error) { console.error('Erro no upload:', error.message); } }
enviarArquivo();
Parâmetros
Parâmetro| Descrição "buffer"| Arquivo convertido em Buffer. Obrigatório. "token"| Objeto opcional que pode conter "access_token".
A função verifica se o arquivo informado é um Buffer válido. Caso contrário, lança o erro:
Envie um arquivo Buffer válido.
O resultado do upload é retornado pelo serviço de arquivos. As propriedades disponíveis dependem da resposta desse serviço.
«Segurança: não compartilhe seu token de acesso publicamente nem o envie para repositórios públicos.»
📦 Retornos JSON e Buffer
O SDK possui duas funções internas para realizar requisições: "request()" e "requestFile()".
"request()" — JSON
As funções que utilizam "request()" retornam a resposta da API em formato JSON, processada como objeto JavaScript.
Exemplo:
const resultado = await dwbr.groq('Olá!');
console.log(resultado);
Você pode consultar as propriedades disponíveis no resultado:
console.log(resultado.msg);
O acesso a "msg" é apenas ilustrativo: utilize os nomes de propriedades que realmente existirem na resposta do endpoint.
Exemplo ilustrativo de JSON:
{ "status": true, "msg": "Resposta de exemplo" }
Esse objeto é apenas demonstrativo; não representa um formato garantido para todas as rotas.
"requestFile()" — Buffer
As funções que utilizam "requestFile()" retornam o conteúdo binário do arquivo em um Buffer do Node.js.
Exemplo:
const imagem = await dwbr.logos1texto.darkgreen('DevWorld BR');
console.log(Buffer.isBuffer(imagem)); // true console.log(imagem.length); // Tamanho em bytes
Salvando um Buffer em arquivo
const fs = require('node:fs');
const imagem = await dwbr.logos1texto.darkgreen('DevWorld BR');
fs.writeFileSync('./logo.png', imagem);
Exemplo para salvar um vídeo:
const fs = require('node:fs');
const video = await dwbr.tiktok_video('URL_DO_TIKTOK');
fs.writeFileSync('./video.mp4', video);
Utilize uma extensão compatível com o conteúdo retornado pelo endpoint.
Resumo dos retornos
Função interna| Tipo de retorno| Exemplos de utilização "request()"| JSON| Pesquisas, metadados e respostas de IA "requestFile()"| Buffer| Imagens, áudios, vídeos e outros arquivos binários
Atenção: JSON e Buffer são tipos diferentes. Não trate um Buffer como se fosse um objeto com propriedades JSON, nem presuma que uma resposta JSON contém diretamente o arquivo binário.
⚠️ Tratamento de erros
Utilize "try/catch" para lidar com falhas nas requisições e nos parâmetros enviados.
Exemplo com JSON
async function pesquisar() { try { const resultado = await dwbr.ytSearch('música para estudar');
console.log(resultado);} catch (error) { console.error('Erro na pesquisa:', error.message); } }
pesquisar();
Exemplo com Buffer
const fs = require('node:fs');
async function gerarLogo() { try { const logo = await dwbr.logos1texto.darkgreen('DevWorld BR');
if (!Buffer.isBuffer(logo)) {
throw new Error('A resposta não contém um Buffer válido.');
}
fs.writeFileSync('./logo.png', logo);
console.log('Logo salvo com sucesso.');} catch (error) { console.error('Erro ao gerar o logo:', error.message); } }
gerarLogo();
Erros podem ocorrer por parâmetros inválidos, falhas de conexão, indisponibilidade de endpoints ou respostas inesperadas.
📢 Canal oficial
Acompanhe novidades, atualizações e avisos da DevWorld BR pelo canal oficial no WhatsApp.
"Entrar no canal da DevWorld BR" (https://whatsapp.com/channel/0029Vb9YdCd65yDIg0IodL1i)
👨💻 Sobre o projeto
DevWorld BR SDK — uma forma prática de integrar as funcionalidades disponíveis nas APIs da DevWorld BR aos seus projetos Node.js.
