Saltar al contenido principal
Roberty Studio
RPAMódulos

Utils

Utils

El módulo Utils es responsable de realizar acciones que se consideran útiles para el desarrollo de ciertas rutinas de los robots.

Métodos​

calculateDateDistance​

Método responsable de calcular la distancia entre dos fechas en una determinada unidad de tiempo.

js
const distance = await Utils.calculateDateDistance["v1_0_0"]({
dateFrom: '2024-01-01',
dateTo: '2024-12-31',
unity: 'days',
})

Parámetros obligatorios​

  • dateFrom: String - fecha de inicio.
  • dateTo: String - fecha de fin.
  • unity: String - unidad de tiempo del resultado. Valores: years | months | days | hours | minutes | seconds.

Parámetros opcionales​

  • inputFormat: String - formato de las fechas de entrada (ej.: YYYY-MM-DD, DD/MM/YYYY). Si no se indica, intenta detectarlo automáticamente.

Retorno​

La constante o variable creada, como la distance del ejemplo mostrado anteriormente, recibirá un número (que puede ser fraccionario) representando la distancia entre las dos fechas en la unidad indicada.

callRobot​

Método responsable de llamar a otro robot desde el robot en ejecución.

js
const result = await Utils.callRobot["v1_0_0"]({
callerRobot: 'meu-robo',
robotKey: 'chave-do-robo-chamado',
args: { parametro: 'valor' }
})

Parámetros obligatorios​

  • callerRobot: String - identificador del robot que está realizando la llamada.
  • robotKey: String - clave del robot que será llamado.

Parámetros opcionales​

  • args: Any - argumentos que serán pasados al robot llamado.

Retorno​

La constante o variable creada, como la result del ejemplo mostrado anteriormente, recibirá un objeto con la siguiente propiedad:

  • result.error: String - mensaje de error en caso de que la llamada falle. Si no hay error, esta propiedad no estará presente.

clipboardWrite​

Método responsable de almacenar temporalmente un valor en el clipboard.

js
await Utils.clipboardWrite["v1_0_0"]({
content: "Roberty"
})

Parámetros obligatorios​

  • content: String - espera un valor para ser almacenado temporalmente en el portapapeles.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

clipboardRead​

Método responsable de leer el valor almacenado temporalmente en el clipboard.

js
const valor = await Utils.clipboardRead["v1_0_0"]()

Parámetros obligatorios​

Este método no tiene parámetros obligatorios.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la valor del ejemplo mostrado anteriormente, recibirá un objeto con la siguiente propiedad:

  • valor.content: String - contiene el valor almacenado en el portapapeles.

count​

Método responsable de contar el número de elementos de un valor.

js
const total = await Utils.count["v1_0_0"]([1, 2, 3, 4, 5])

Parámetros obligatorios​

  • Este método espera directamente el valor que será contado (no un objeto). Los strings devuelven la cantidad de caracteres, los arrays la cantidad de elementos y los números la cantidad de dígitos; objetos, booleanos y demás tipos devuelven 0.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la total del ejemplo mostrado anteriormente, recibirá un número que representa la cantidad de elementos del valor indicado.

delay​

Método responsable de pausar el robot por un determinado período de tiempo.

js
await Utils.delay["v1_0_0"](5)

Parámetros obligatorios​

  • La cantidad en segundos que el robot deberá esperar.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

downloadFilesInBatch​

Método responsable de descargar varios archivos desde URL a una carpeta local.

js
const result = await Utils.downloadFilesInBatch["v1_0_0"]({
targetFolder: 'C:/Users/Roberty/Downloads',
files: [
{ url: 'https://exemplo.com/arquivo1.pdf', nameToSave: 'documento1.pdf' },
{ url: 'https://exemplo.com/arquivo2.pdf', nameToSave: 'documento2.pdf' },
],
})

Parámetros obligatorios​

  • targetFolder: String - ruta de la carpeta donde serán guardados los archivos.
  • files: Object[] - lista de archivos que serán descargados. Cada objeto debe contener:
    • url: String - URL del archivo que será descargado.
    • nameToSave: String - nombre con el que será guardado el archivo.

Parámetros opcionales​

  • createTargetFolderIfNot: Boolean - si es true, crea la carpeta de destino en caso de que no exista. Valor predeterminado: false.

Retorno​

La constante o variable creada, como la result del ejemplo mostrado anteriormente, recibirá un objeto con las siguientes propiedades:

  • result.allFilesDownloaded: Boolean - indica si todos los archivos fueron descargados con éxito.
  • result.filesWithSuccess: String[] - lista de nombres de los archivos descargados con éxito.
  • result.filesWithError: String[] - lista de nombres de los archivos que fallaron.
  • result.errorsByFile: Object - objeto con los errores de cada archivo que falló, indexado por el nombre del archivo.

execCommand​

Método responsable de ejecutar un comando en la terminal del sistema operativo.

js
await Utils.execCommand["v1_0_0"]({
command: 'notepad.exe C:/Users/Roberty/Desktop/arquivo.txt',
})

Parámetros obligatorios​

  • command: String - comando que será ejecutado en la terminal.

Parámetros opcionales​

  • waitCommandFinish: Boolean - si es true, espera que el comando finalice antes de continuar la ejecución del robot. Valor predeterminado: false.

Retorno​

Este método no tiene retorno.

focusProcess​

Método responsable de enfocar la pantalla de un proceso abierto en la computadora del usuario.

js
await Utils.focusProcess["v1_0_0"]({
processName: "chrome"
})

Parámetros obligatorios​

  • processName: String - espera el nombre exacto del proceso que será enfocado.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

getDeviceToken​

Método responsable de obtener el token del dispositivo en el que el robot se está ejecutando.

js
const token = await Utils.getDeviceToken["v1_0_0"]()

Parámetros obligatorios​

Este método no tiene parámetros obligatorios.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la token del ejemplo mostrado anteriormente, recibirá un string con el token del dispositivo.

getInstanceByRobotKey​

Método responsable de obtener la instancia de ejecución de un robot a partir de su clave.

js
const instance = await Utils.getInstanceByRobotKey["v1_0_0"]()

Parámetros obligatorios​

Este método no tiene parámetros obligatorios.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la instance del ejemplo mostrado anteriormente, recibirá un string con el identificador de la instancia en ejecución del robot actual (la clave usada es la del propio robot). Si la instancia no se encuentra en hasta 30 segundos, la ejecución se interrumpe con error (TIMEOUT o NOT_FOUND).

killProcess​

Método responsable de finalizar un proceso abierto en la computadora del usuario.

js
await Utils.killProcess["v1_0_0"]({
processName: "chrome"
})

Parámetros obligatorios​

  • processName: String - espera el nombre exacto del proceso que será finalizado. Este parámetro no será obligatorio si se indica processId.
  • processId: Number - espera el id del proceso que será finalizado. Este parámetro no será obligatorio si se indica processName.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

maximizeProcess​

Método responsable de maximizar la pantalla de un proceso abierto en la computadora del usuario.

js
await Utils.maximizeProcess["v1_0_0"]({
processName: "chrome"
})

Parámetros obligatorios​

  • processName: String - espera el nombre exacto del proceso que será maximizado.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

minimizeProcess​

Método responsable de minimizar la pantalla de un proceso abierto en la computadora del usuario.

js
await Utils.minimizeProcess["v1_0_0"]({
processName: "chrome"
})

Parámetros obligatorios​

  • processName: String - espera el nombre exacto del proceso que será minimizado.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

runPythonCode​

Método responsable de ejecutar un fragmento de código Python y devolver su salida.

js
const output = await Utils.runPythonCode["v1_0_0"]('print("Hello from Python!")')

Parámetros obligatorios​

  • Este método espera directamente un string con el código Python que será ejecutado.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la output del ejemplo mostrado anteriormente, recibirá un string con el contenido impreso en stdout por la ejecución del código Python.

screenshot​

Método responsable de capturar una imagen de la pantalla entera y guardarla en un archivo.

js
await Utils.screenshot["v1_0_0"]({
fullPath: `C:\\Users\\Roberty\\Downloads\\imagem.png`
})

Parámetros obligatorios​

  • fullPath: String - espera la ruta completa donde será guardada la imagen capturada, incluyendo el nombre del archivo y su extensión (ej.: .png).

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

screenshotRegion​

Método responsable de capturar una imagen de una región específica de la pantalla y guardarla en un archivo.

js
await Utils.screenshotRegion["v1_0_0"]({
x: 0,
y: 0,
width: 800,
height: 600,
fullPath: 'C:/Users/Roberty/Downloads/regiao.png'
})

Parámetros obligatorios​

  • Este método espera directamente un objeto con las coordenadas de la región y la ruta del archivo (x e y tienen valor predeterminado 0):
    • x: Number - coordenada x de la esquina superior izquierda de la región.
    • y: Number - coordenada y de la esquina superior izquierda de la región.
    • width: Number - ancho de la región en píxeles.
    • height: Number - altura de la región en píxeles.
    • fullPath: String - ruta completa donde será guardada la imagen capturada.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

Este método no tiene retorno.

sendWebhookResponse (Profissional)​

Método responsable de responder un valor al webhook de tu robot.

js
await Utils.sendWebhookResponse["v1_0_0"]({
webhookCallId: "webhookCallId"
})

Parámetros obligatorios​

Este método no tiene parámetros obligatorios.

Parámetros opcionales​

  • args: Any - recibe un valor para ser respondido al webhook.
  • webhookCallId: String - recibe el webhookCallId del robot.

En la v1_0_0, webhookCallId es obligatorio. La versión v2_0_0 hace webhookCallId opcional y acepta también el parámetro opcional loadBalanceCallId: String, que se reenvía junto con la respuesta.

Retorno​

Este método no tiene retorno.

startProcess​

Método responsable de iniciar un proceso en la computadora del usuario.

js
const process = await Utils.startProcess["v1_0_0"]({
fileName: "chrome",
arguments: "https://www.google.com"
})

Parámetros obligatorios​

  • fileName: String - espera el nombre exacto del proceso que será iniciado o, en caso necesario, la ruta completa del ejecutable deseado.

Parámetros opcionales​

  • arguments: String - espera un string con los argumentos para la inicialización del proceso.

Retorno​

La constante o variable creada, como la process del ejemplo mostrado anteriormente, recibirá un objeto con las siguientes propiedades:

  • process.id: Number - devuelve el id del proceso iniciado.
  • process.processName: String - devuelve el nombre del proceso iniciado.

waitHumanAction​

Método responsable de pausar la ejecución del robot esperando una acción humana. El robot espera hasta que el usuario confirme la continuación o hasta que se alcance el tiempo límite.

js
const result = await Utils.waitHumanAction["v1_0_0"]({
timeout: 300
})

Parámetros obligatorios​

  • timeout: Number - tiempo máximo en segundos que el robot esperará por la acción humana. Con 0, no hay tiempo límite.

Parámetros opcionales​

Este método no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la result del ejemplo mostrado anteriormente, recibirá un objeto con la siguiente propiedad:

  • result.result: String - indica el resultado de la espera. Valores: CONTINUE (el usuario confirmó) | TIMEOUT (se alcanzó el tiempo límite).

Si el runner no logra abrir la ventana de interacción, la ejecución se interrumpe con error.