Como transformar um código em JAVA para Node.JS

Olá, sou iniciante em linguagem Java, e eu estou querendo criar um Bot para Discord em Java, mas não consegui, queria saber se é possível eu transformar todo o código q eu tenho em linguagem Java para JavaScript?
Vou colocar abaixo o link do comando q eu desejo fazer funcionar, por favor alguém me ajuda :slight_smile:

Se ainda restava alguma esperança de que era possível… Infelizmente transformar não é possível nos dias de hoje.

O que é possível é reescrever o código de Java pra JavaScript, na raça mesmo. No próprio Github tem vários exemplo de bot pra o discord em Node.

Eu tenho bots em Node, mas o negocio é q eu queria especificamente esse comando q eu enviei ai, pra ele pesquisar naquele site especifico, tem como eu fazer isso com node.js?

Com certeza! Eu sempre gosto de recomendar o Puppeteer (https://pptr.dev/)

1 curtida

Muito obrigado, vou tentar ver se consigo alguma coisa aqui, sou iniciante nisso :frowning:

É bem simples! Basicamente vc vai precisar inspecionar o elemento da página que vc quer (apertando F12 no seu teclado), e ir pegando as classes correspondentes e etc…

Exemplo básico com o site que vc quer:


Fonte de um código que fiz pra entrar no site Letras, procurar uma música e trazer o conteúdo que eu quero.

'use strict';
const puppeteer = require('puppeteer');

async function getDataArtigo() {
    const browser = await puppeteer.launch({
        headless: false,
        args: ['--disable-web-security', '--user-data-dir', '--allow-running-insecure-content']
    });

    try {
        const page = await browser.newPage();
        await page.setUserAgent("Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136")
        await page.setViewport({ width: 1280, height: 800 });
        await page.goto(`https://www.letras.mus.br/`);

        //Vai pesquisar pela palavra chave...
        await page.$('#main_suggest')
        await page.type("#main_suggest", "Started From The Bottom - Drake Tradução") //palavra chave.
        await page.click(".main-search_submit")

        //get first link
        await page.waitForSelector('.gsc-thumbnail-inside .gs-title a')
        const link = await page.$eval('.gsc-thumbnail-inside .gs-title a', link => link.getAttribute("href"))
        await page.goto(link.toString())

        //pegar tradução
        await page.waitForSelector(".cnt-trad_r p")
        const letra = await page.evaluate(() => Array.from(document.querySelectorAll('.cnt-trad_r p *'))
            .map((link) => link.innerText))

        console.log(letra)

        await browser.close()
    } catch (e) {
        console.log(e)
    }
}

getDataArtigo()
2 curtidas

Devo adicionar isso em um comando?
Desculpa mas não entendi muito bem como realmente devo fazer :frowning:

vc q fez seus bots?

1 curtida

Da uma olhada nesse video, acho q vai te ajudar:

1 curtida

+ou-, meu conhecimento em Node.js é muito pequeno, a maioria eu pegava códigos meio q prontos e ia alterando de acordo com o q desejava

1 curtida

Irei assistir, qualquer coisa aviso aqui, blz?

Maravilha, seja bem vindo ao fórum :grin:

1 curtida

Muito obrigado man!!! vou ir tentando aqui :innocent:

Oi tenho uma dúvida, Meu bot foi feito na replit, para poder ficar sempre online, é possível fazer isso lá?

Acho difícil, se der tem que pagar alguma coisa…

Em alternativa tem o Heroku. Vc coloca seu código no Github e importar lá no heroku. Aí sim vc consegue ter um servidor rodando sempre

1 curtida

Os dynos não dormem depois de 30 min de inatividade?
Já vi um tutorial de uma gambiarra para o app enviar web request para si mesmo a cada x minutos para ficar ativo.

Tem um tutorial no replit que usa o https://uptimerobot.com/ para manter o bot ativo.

Tenho um projeto que é um encurtador de link lá no heroku, eu fico um tempo sem acessar e quando vou acessar novamente, demora cerca de 3-5s pra o server startar.

https://shortn.vercel.app/


Claro que pra projeto grande o ideal é ter um server próprio, mas pra quem quase não precisa de um ambiente gigante, o Heroku é uma boa opção

1 curtida

mas no caso de um bot, quem vai acessar? Eles não funcionam com http requests.

Tipo o package do Puppeteer está instalado no meu bot q está na Replit
image
Eu só não sei oq devo fazer para o comando funcionar, copiei o comando q vc enviou para testar mas da erro.

Eu fiz isso :smile: