Así que simplemente quiero que mi bot diga: Si el texto tiene una semana especificada, enviará las semanas y los días restantes. Si tiene días, enviará los días y las horas restantes. Ejemplo:
Tiempo restante: 2 semanas, 3 días Tiempo restante: 1 día, 5 horas
La parte del código que tiene las semanas, Minutos, Horas, Segundos:
let gwTime = ms(time); let timeRemain = gwTime weeks = Math.floor((timeRemain / (24*60*60*1000))/7); weeksms = Math.floor((timeRemain % (24*60*60*1000))/7); days = Math.floor(weeksms / (24*60*60*1000)); daysms = weeksms % (24*60*60*1000); hours = Math.floor(daysms / (60*60*1000)); hoursms = timeRemain % (60*60*1000); minutes = Math.floor(hoursms / (60*1000)); minutesms = timeRemain % (60*1000); sec = Math.floor(minutesms / 1000); // weeks = Math.floor(days / 7); let gwEmbed = new MessageEmbed() .setTitle(`${prize}`) // .setDescription(`**Time Remaining**${weeks} weeks ${days} days // .setDescription(`**Hosted By**`) // ${hours} hours ${minutes} minutes ${sec} seconds`) .addField('**Time Remaining: **', `${weeks} weeks ${days} days ${hours} hours ${minutes} minutes ${sec} seconds`, true) .addField('**Hosted By**', `<@965460337275064351>`, true)No estoy seguro de cuál es la forma en que se activa el mensaje del bot, así que asumí que el bot enviará un mensaje que mostró su código al ejecutar un comando.
Puede usar la declaración if para determinar si el valor es verdadero o falso, y verificar si tiene un valor real. Para que se visualice, lo mostraré en código.
var No = 0; if (!No) console.log('No Number') En esta situación, No pasa a la opción negativa de la declaración condicional, ya que su valor es 0 . Por lo tanto, verá 'Sin número' en la consola.
Volviendo a su pregunta, puede aplicar las declaraciones if para verificar si quedan semanas o días.
if (weeks) { // Have at least 1 week gwEmbed.addField('**Time Remaining: **', `${weeks} weeks ${days} days`, true) } else if (days) { // Have at least 1 day gwEmbed.addField('**Time Remaining: **', `${days} days ${hours} hours`, true) } else { // No week, No day } Además de su pregunta, dudo que haya algunos errores en el código de conversión de tiempo. Te recomendaría usar la variable por separado. Para instantes, considere usar timeRemain para cada variable ms en lugar de usar la superior y hacerla encadenar.
Para sus referencias, aquí está la documentación de la declaración If:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else