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
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?
Muito obrigado, vou tentar ver se consigo alguma coisa aqui, sou iniciante nisso
É 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()
Devo adicionar isso em um comando?
Desculpa mas não entendi muito bem como realmente devo fazer
vc q fez seus bots?
Da uma olhada nesse video, acho q vai te ajudar:
+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
Irei assistir, qualquer coisa aviso aqui, blz?
Maravilha, seja bem vindo ao fórum
Muito obrigado man!!! vou ir tentando aqui
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
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.
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
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
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