Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

95
Vistas
recibir mensajes de discordia en javascript puro basado en navegador?

(NOTA: esta primera sección solo brinda un poco de contexto, no demasiado relevante para la recepción del mensaje, pero nuevamente, establece un contexto que podría ayudar)

Entonces, sé que necesito usar un WebSocket para conectarme de alguna manera. Después de un poco de ingeniería inversa, noté que necesito iniciar una conexión WebSocket con wss://gateway.discord.gg .

Ahora, hice una función de inicio de sesión de bot de mierda (aunque no estoy completamente seguro de cómo funcionan los WebSockets) y se ve así:

 function login_bot() { let gateway_url = "https://discordapp.com/api/v9/gateway/bot"; let tok = prompt('bot token: '); let request = new XMLHttpRequest(); request.withCredentials = true; request.open("GET", gateway_url); request.setRequestHeader("authorization", tok); request.setRequestHeader("accept", "/"); request.setRequestHeader("authority", "discordapp.com"); request.setRequestHeader("content-type", "application/json"); let socket = new WebSocket("wss://gateway.discord.gg"); socket.onopen = function(e) { alert("[open] Connection established"); alert("Sending to server"); socket.send("I stole this request code xd"); }; }

Con esto no tengo nada; ninguna respuesta 403 no permitida, ninguna respuesta 404 no encontrada, etc. (¿lo que probablemente no tenga sentido en este contexto? Nuevamente, no tengo ni idea cuando se trata de websockets).


Después de esto, alguien en el servidor Discord-API me informó que si la conexión proviene de la web, no puede iniciar sesión (la api niega la conexión websocket). Entonces, ¿qué pasa si no quiero iniciar sesión?

No puedo descifrar cómo simplemente registrar mensajes mientras ya estoy conectado al dominio de discordia.

Probé la ingeniería inversa del envoltorio discord.py, aunque eso es solo más WebSockets.

Entonces, hasta ahora sé que yo:

  1. necesito usar websockets
  2. obtenga el contenido del mensaje de alguna manera y luego consola. Regístrelos

Entonces, ¿alguien sabe cómo obtendría el contenido del mensaje con una conexión websocket (la que te da discord.com/login) ya establecida en el servidor de discordia?

Una vez más, disculpas si esta pregunta no está permitida aquí.

Gracias, 1305.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Prueba esto. Reemplaza YOUR_TOKEN con tu token de Discord.

 var ws = new WebSocket("wss://gateway.discord.gg/?v=6&encoding=json"); var interval = 0; var token = "YOUR_DISCORD_TOKEN" payload = { op: 2, d: { token: token, intents: 512, properties: { $os: "linux", $browser: "chrome", $device: "chrome", }, }, }; ws.addEventListener("open", function open(x) { ws.send(JSON.stringify(payload)); }); ws.addEventListener("message", function incoming(data) { var x = data.data; var payload = JSON.parse(x); const { t, event, op, d } = payload; switch (op) { // OPCODE 10 GIVES the HEARTBEAT INTERVAL, SO YOU CAN KEEP THE CONNECTION ALIVE case 10: const { heartbeat_interval } = d; setInterval(() => { ws.send(JSON.stringify({ op: 2, d: null })); }, heartbeat_interval); break; } switch (t) { // IF MESSAGE IS CREATED, IT WILL LOG IN THE CONSOLE case "MESSAGE_CREATE": console.log(d.author.username + ": " + d.content); } });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda