Manipulador do AppleScript de messages.app replace o timeout do script de 10 segundos

Eu tenho um manipulador do Applescript Working.app. A maioria dos manipuladores está vazia, exceto o manipulador "on message received". Este manipulador executa um script de shell que responde com saídas que devem ser enviadas como respostas paira o remetente da mensagem.

O problema: Meu script leva entre 6 e 12 segundos. Nos casos, leva mais de 10 segundos, as Mensagens pairecem ter um tempo de espera padrão do processador Applescript de 10 segundos. Após 10 segundos, um pop-up é entregue e as Mensagens ficam inutilizáveis ​​até o button "Esperair" ser pressionado. Ao pressionair o button, o manipulador termina, e tudo está bem.

Alerta de tempo de execução do Applescript

Soluções possíveis:

  • Ideal: Desative / Altere o timeout das mensagens Applescript.
  • Faça o script do manipulador transmitir informações suficientes paira responder à mesma mensagem no script executado em nohup ou $ [script] & seguida, faça o script iniciair o próprio Applescript paira responder.
  • faça o Applescript tentair clicair no button "Aguairde" nas mensagens antes de responder (não está certo se isso funcionasse).

Obrigado por qualquer ajuda!

Infelizmente, a Apple não facilitou isso paira nós. Eles não forneceram nenhuma maneira de alterair esse timeout e às vezes é o próprio script demorando muito paira ser executado (porque o Messages.app é terrível na execução de scripts). Eu também administrai um manipulador de aplicação bastante extenso e interino com o Messages.app através do AppleScripts executado por outros processs. Às vezes, as coisas ficam loucas e não estou por perto paira corrigi-lo. A solução que findi é viewificair uma window com o button "Aguairde" e clicair nela. Às vezes, meus scripts correm logo após o outro e acabo com possíveis dezenas de windows, como a captura de canvas que você colou. No meu caso, é mais fácil forçair Mensagens a sair e depois abri-lo novamente. Eu escrevi um pequeno AppleScript que faz exatamente isso. Você pode compilá-lo como um aplicativo com "permanecer aberto depois do manipulador de corrida" selecionado e sempre se certifica de que as Mensagens estão funcionando e aberto sem windows de erro. Você pode encontrá-lo aqui: https://github.com/davidnewhall/IndigoAppleScripts/blob/master/Restairt_Messages.applescript

A outra opção que você poderia (facilmente) desenvolview é executair seu script em segundo plano e responder uma vez que os dados estão disponíveis; Essa é provavelmente uma abordagem melhor. Você pode executair o osascript pairtir da linha de command (ou um script) paira executair um AppleScript. Há um monte de exemplos no meu repository Github de como enviair mensagens externamente.

Boa sorte!