es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Formato de tiempo predefinido para los comandos de barra diagonal en discord.py

¿Cómo puedo solicitar a un usuario que proporcione una salida en un formato de tiempo predefinido en los comandos de barra diagonal, como en este bot, donde se le pide al usuario que escriba la hora como 1m (por 1 minuto) 3s (por 3 semanas, etc.)? He buscado en todas partes sobre esto, pero no he encontrado nada y no tengo idea de cómo hacerlo.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Se puede utilizar una expresión regular para validar la entrada del usuario y convertirla en un formato de tiempo predefinido. Por ejemplo, si deseas aceptar entradas como 1m, 3w, etc., puedes utilizar la siguiente expresión regular: ^(\d+)([mw])$. Esto coincidirá con cadenas como 1m y 3w y capturará el número y la unidad (m o w). Luego puedes utilizar los valores capturados para convertir la entrada en el formato de tiempo deseado.

    Por ejemplo, si el usuario ingresa 1m, puedes convertirlo en 60 segundos utilizando el siguiente código:

    const input = '1m';
    const regex = /^(\d+)([mw])$/;
    const matches = input.match(regex);
    const number = matches[1];
    const unit = matches[2];
    let time;
    
    if (unit === 'm') {
      time = number * 60;
    } else if (unit === 'w') {
      time = number * 60 * 60 * 24 * 7;
    }
    
    console.log(time); // 60
    

Comments are closed.