Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

304
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda