How is it possible to listen for events in OS X JavaScript for automation.
In the scripting Library for the Messages application there is a list of event handlers, such as messageSent
and messageReceived
. However, I cannot figure out how to use them. Trying to pass a function yields an error, and trying to set these variables to new functions causes the REPL to hang.
What is the proper way to set up these event handlers?
You would create a script that you then select from the AppleScript handler menu in
Preferences > General
. Use the built-inSpeak Events.applescript
file as your guide and be aware that you have to override every single handler for it to execute properly.Note: even with Standard Additions included, you still cannot call scripting addition commands like
say()
likely due to how they've implemented this layer on top of the scripting engine, making even an appropriate call usingcurrentApplication()
look as if it is being sent cross-application.Here is a template: