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

298
Vistas
¿Cómo importo valores de MongoDB a una inserción de Discord?

Tengo todos los datos que necesito en la base de datos mongoDB, simplemente no sé cómo puedo enviar partes de los datos en una inserción de Discord. por ejemplo los datos:

 new birthdaySchema({ User: username.username, Birthday: birthdayString, Month: showMonth, Day: showDay, Year: showYear

Año, Mes y Día están ahí para ordenar los cumpleaños y cadena de cumpleaños = Día del Mes

También uso momento-zona horaria (UTC)

 const dateTime = moment.utc().format(`DD MM YYYY, hh:mm:ss`);

Mi objetivo es con una barra diagonal como /next-birthdays, los datos en la inserción deberían verse así

${birthdayString} ${Year}\n${User} (y esto 10 veces, por lo que los próximos cumpleaños de 10 usuarios)

Y si el cumpleaños y la fecha y hora reales de las zonas horarias de momento (UTC) coinciden. Luego, el Bot debe hacer una nueva inserción con un título (Feliz cumpleaños) y en la descripción ( Today is ${User}'s Birthday, blah blah blah ) y, por último, debe otorgarle a ese usuario el rol de cumpleaños en este servidor.

Espero que alguien pueda ayudarme :)

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

0

Tengo algo similar a lo que podría ayudarte :) Esto se logra mediante el uso de la biblioteca mongoose (que supongo que probablemente estés usando).

En mi código tengo una referencia al archivo JS donde se encuentra mi esquema:

 const Messages = require("../models/benSchema2");

Luego, podría tener una variable y almacenar todas las entradas de la base de datos dentro de ella en forma de matriz, como esta:

 const messageOrdered = await Messages.find({}).sort({ messages: -1 });

(En mi caso, obtengo todas las entradas de la base de datos, clasificándolas por orden descendente de mensajes. ¿Tal vez podría ordenarlas según la cadena de cumpleaños?)

Luego puede tener un ciclo for, comenzando en i=0 y deteniéndose en 9, que debería tener los 10 cumpleaños más cercanos. Tengo mi código aquí, pero podría refactorizarse para que sea más eficiente. Además, mi código funciona en función de los datos de ID de usuario almacenados en la base de datos, pero debería poder funcionar refinándolo para que funcione con nombres de usuario.

 let content = ""; for (let i = 0; i < messageOrdered.length; i++) { if (i === 5) { break; } const userID = await client.users.fetch(messageOrdered[i].UserID); let user = userID.username; if (i === 0) { content += `🥇 ${i + 1}: ${user} - ${messageOrdered[i].messages}\n`; } else if (i === 1) { content += `🥈 ${i + 1}: ${user} - ${messageOrdered[i].messages}\n`; } else if (i === 2) { content += `🥉 ${i + 1}: ${user} - ${messageOrdered[i].messages}\n`; } else { content += `🎖️ ${i + 1}: ${user} - ${messageOrdered[i].messages}\n`; } } (bit spaghetti code but oh well :))

Una vez que obtenga los 10 más cercanos y todos se agreguen a la cadena de contenido, en su MessageEmbed final puede hacer:

 .addField("Global Positions (Text):", content)

Entonces finalmente envíelo. Espero que esto haya ayudado de alguna manera :)

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