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 - setrue, 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 - setrue, 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 oprocessIdfor informado.processId: Number - espera o id do processo que será encerrado. Este parâmetro não será obrigatório se oprocessNamefor 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).