自動化のために OS X JavaScript でイベントをリッスンするにはどうすればよいですか。
Messages アプリケーションのスクリプト ライブラリには、 や などのイベント ハンドラのリストがありmessageSent
ますmessageReceived
。しかし、私はそれらを使用する方法を理解できません。関数を渡そうとするとエラーが発生し、これらの変数を新しい関数に設定しようとすると、REPL がハングします。
これらのイベント ハンドラを設定する適切な方法は何ですか?
自動化のために OS X JavaScript でイベントをリッスンするにはどうすればよいですか。
Messages アプリケーションのスクリプト ライブラリには、 や などのイベント ハンドラのリストがありmessageSent
ますmessageReceived
。しかし、私はそれらを使用する方法を理解できません。関数を渡そうとするとエラーが発生し、これらの変数を新しい関数に設定しようとすると、REPL がハングします。
これらのイベント ハンドラを設定する適切な方法は何ですか?
の AppleScript ハンドラ メニューから選択するスクリプトを作成しますPreferences > General
。ビルトインSpeak Events.applescript
ファイルをガイドとして使用し、適切に実行するにはすべてのハンドラをオーバーライドする必要があることに注意してください。
注:say()
Standard Additions が含まれていても、スクリプト エンジンの上にこのレイヤーをどのように実装しているかのように、スクリプト追加コマンドを呼び出すことはできず、currentApplication()
アプリケーション間で送信されているかのように見える適切な呼び出しを行います。
テンプレートは次のとおりです。
Messages = Application.currentApplication()
Messages.includeStandardAdditions = true
function messageSent(m, e) {
}
function messageReceived(m, e) {
}
function chatRoomMessageReceived(e) {
}
function activeChatMessageReceived(m, e) {
}
function addressedMessageReceived(m, b, c, e) {
}
function receivedTextInvitation(e) {
}
function receivedAudioInvitation(m, b, c, e) {
}
function receivedVideoInvitation(m, b, c, e) {
}
function receivedLocalScreenSharingInvitation(b, c, e) {
}
function buddyAuthorizationRequested(e) {
}
function addressedChatRoomMessageReceived(e) {
}
function receivedRemoteScreenSharingInvitation(e) {
}
function loginFinished(e) {
}
function logoutFinished(e) {
}
function buddyBecameAvailable(e) {
}
function buddyBecameUnavailable(e) {
}
function receivedFileTransferInvitation(e) {
}
function avChatStarted(e) {
}
function avChatEnded(e) {
}
function completedFileTransfer(e) {
}