Skip to main content

Utils

O módulo Utils é responsável por realizar ações que são consideradas úteis para o desenvolvimento de certas rotinas dos robôs.

Métodos

calculateDateDistance

Método responsável por calcular a distância entre duas datas em uma determinada unidade de tempo.

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

Parâmetros obrigatórios

  • dateFrom: String - data de início.
  • dateTo: String - data de fim.
  • unity: String - unidade de tempo do resultado. Valores: years | months | days | hours | minutes | seconds.

Parâmetros opcionais

  • inputFormat: String - formato das datas de entrada (ex.: YYYY-MM-DD, DD/MM/YYYY). Se não informado, tenta detectar automaticamente.

Retorno

A constante ou variável criada, como a distance do exemplo mostrado anteriormente, receberá um número representando a distância entre as duas datas na unidade informada.

callRobot

Método responsável por chamar outro robô a partir do robô em execução.

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

Parâmetros obrigatórios

  • callerRobot: String - identificador do robô que está realizando a chamada.
  • robotKey: String - chave do robô que será chamado.

Parâmetros opcionais

  • args: Any - argumentos que serão passados para o robô chamado.

Retorno

A constante ou variável criada, como o result do exemplo mostrado anteriormente, receberá um objeto com a seguinte propriedade:

  • result.error: String - mensagem de erro caso a chamada falhe. Se não houver erro, esta propriedade não estará presente.

clipboardWrite

Método responsável por armazenar temporariamente um valor no clipboard.

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

Parâmetros obrigatórios

  • content: String - espera um valor para ser armazenado temporariamente no clipboard.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

clipboardRead

Método responsável por ler o valor armazenado temporariamente no clipboard.

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

Parâmetros obrigatórios

Este método não possui parâmetros obrigatórios.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante ou variável criada, como a valor do exemplo mostrado anteriormente, receberá um objeto com a seguinte propriedade:

  • valor.content: String - contém o valor armazenado no clipboard.

count

Método responsável por contar o número de elementos de um valor.

const total = await Utils.count["v1_0_0"]({
value: [1, 2, 3, 4, 5]
})

Parâmetros obrigatórios

  • value: Any - valor a ser contado. Aceita strings (contagem de caracteres), arrays (contagem de itens) e números (contagem de dígitos).

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante ou variável criada, como a total do exemplo mostrado anteriormente, receberá um número representando a quantidade de elementos do valor informado.

delay

Método responsável por pausar o robô por um determinado período de tempo.

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

Parâmetros obrigatórios

  • A quantidade em segundos que o robô deverá aguardar.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

downloadFilesInBatch

Método responsável por baixar múltiplos arquivos de URLs para uma pasta local.

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 obrigatórios

  • targetFolder: String - caminho da pasta onde os arquivos serão salvos.
  • files: Object[] - lista de arquivos a serem baixados. Cada objeto deve conter:
    • url: String - URL do arquivo a ser baixado.
    • nameToSave: String - nome com o qual o arquivo será salvo.

Parâmetros opcionais

  • createTargetFolderIfNot: Boolean - se true, cria a pasta de destino caso ela não exista. Valor padrão: false.

Retorno

A constante ou variável criada, como o result do exemplo mostrado anteriormente, receberá um objeto com as seguintes propriedades:

  • result.allFilesDownloaded: Boolean - indica se todos os arquivos foram baixados com sucesso.
  • result.filesWithSuccess: String[] - lista de nomes dos arquivos baixados com sucesso.
  • result.filesWithError: String[] - lista de nomes dos arquivos que falharam.
  • result.errorsByFile: Object - objeto com os erros de cada arquivo que falhou, indexado pelo nome do arquivo.

execCommand

Método responsável por executar um comando no terminal do sistema operacional.

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

Parâmetros obrigatórios

  • command: String - comando a ser executado no terminal.

Parâmetros opcionais

  • waitCommandFinish: Boolean - se true, aguarda o comando finalizar antes de continuar a execução do robô. Valor padrão: false.

Retorno

Este método não possui retorno.

focusProcess

Método responsável por focar a tela de um processo aberto no computador do usuário.

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

Parâmetros obrigatórios

  • processName: String - espera o nome exato do processo que será focado.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

getDeviceToken

Método responsável por obter o token do dispositivo em que o robô está sendo executado.

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

Parâmetros obrigatórios

Este método não possui parâmetros obrigatórios.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante ou variável criada, como o token do exemplo mostrado anteriormente, receberá uma string com o token do dispositivo.

getInstanceByRobotKey

Método responsável por obter a instância de execução de um robô a partir de sua chave.

const instance = await Utils.getInstanceByRobotKey["v1_0_0"]({
robotKey: 'chave-do-robo',
})

Parâmetros obrigatórios

  • robotKey: String - chave do robô cuja instância será obtida.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante ou variável criada, como a instance do exemplo mostrado anteriormente, receberá uma string com o identificador da instância do robô.

killProcess

Método responsável por encerrar um processo aberto no computador do usuário.

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

Parâmetros obrigatórios

  • processName: String - espera o nome exato do processo que será encerrado. Este parâmetro não será obrigatório se o processId for informado.
  • processId: Number - espera o id do processo que será encerrado. Este parâmetro não será obrigatório se o processName for informado.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

maximizeProcess

Método responsável por maximizar a tela de um processo aberto no computador do usuário.

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

Parâmetros obrigatórios

  • processName: String - espera o nome exato do processo que será maximizado.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

minimizeProcess

Método responsável por minimizar a tela de um processo aberto no computador do usuário.

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

Parâmetros obrigatórios

  • processName: String - espera o nome exato do processo que será minimizado.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

runPythonCode

Método responsável por executar um trecho de código Python e retornar sua saída.

const output = await Utils.runPythonCode["v1_0_0"]({
code: 'print("Hello from Python!")'
})

Parâmetros obrigatórios

  • code: String - código Python a ser executado.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante ou variável criada, como o output do exemplo mostrado anteriormente, receberá uma string com o conteúdo impresso no stdout pela execução do código Python.

screenshot

Método responsável por capturar uma imagem da tela inteira e salvá-la em um arquivo.

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

Parâmetros obrigatórios

  • fullPath: String - espera o caminho completo onde a imagem capturada será salva, incluindo o nome do arquivo e sua extensão (ex.: .png).

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

screenshotRegion

Método responsável por capturar uma imagem de uma região específica da tela e salvá-la em um arquivo.

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

Parâmetros obrigatórios

  • byPositionProtocol: Object - objeto com as coordenadas e configurações da região a ser capturada:
    • x: Number - coordenada x do canto superior esquerdo da região.
    • y: Number - coordenada y do canto superior esquerdo da região.
    • width: Number - largura da região em pixels.
    • height: Number - altura da região em pixels.
    • fullPath: String - caminho completo onde a imagem capturada será salva.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

Este método não possui retorno.

sendWebhookResponse (Profissional)

Método responsável por responder um valor para o webhook do seu robô.

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

Parâmetros obrigatórios

Este método não possui parâmetros obrigatórios.

Parâmetros opcionais

  • args: Any - recebe um valor para ser respondido ao webhook.
  • webhookCallId: String - recebe o webhookCallId do robô.

Retorno

Este método não possui retorno.

startProcess

Método responsável por iniciar um processo no computador do usuário.

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

Parâmetros obrigatórios

  • fileName: String - espera o nome exato do processo que será iniciado ou, caso necessário, o caminho completo do executável desejado.

Parâmetros opcionais

  • arguments: String - espera uma string com os argumentos para inicialização do processo.

Retorno

A constante ou variável criada, como a process do exemplo mostrado anteriormente, receberá um objeto com as seguintes propriedades:

  • process.id: Number - retorna o id do processo iniciado.
  • process.processName: String - retorna o nome do processo iniciado.

waitHumanAction

Método responsável por pausar a execução do robô aguardando uma ação humana. O robô aguarda até que o usuário confirme a continuação ou até que o tempo limite seja atingido.

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

Parâmetros obrigatórios

  • timeout: Number - tempo máximo em milissegundos que o robô aguardará pela ação humana.

Parâmetros opcionais

Este método não possui parâmetros opcionais.

Retorno

A constante ou variável criada, como o result do exemplo mostrado anteriormente, receberá um objeto com a seguinte propriedade:

  • result.result: String - indica o resultado da espera. Valores: CONTINUE (usuário confirmou) | TIMEOUT (tempo limite atingido).