gpt4 book ai didi

javascript - 在 OS X JavaScript for Automation (JXA) 中附加事件监听器

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:55 24 4
gpt4 key购买 nike

如何在 OS X JavaScript 中监听事件以实现自动化。

在消息应用程序的脚本库中有一个事件处理程序列表,例如 messageSentmessageReceived。但是,我不知道如何使用它们。尝试传递函数会产生错误,而尝试将这些变量设置为新函数会导致 REPL 挂起。

设置这些事件处理程序的正确方法是什么?

最佳答案

您将创建一个脚本,然后从 Preferences > General 中的 AppleScript 处理程序菜单中选择该脚本。使用内置的 Speak Events.applescript 文件作为指南,并注意您必须覆盖每个处理程序才能正确执行。

注意:即使包含标准添加,您仍然无法调用脚本添加命令,如 say(),这可能是因为它们是如何在脚本引擎,甚至使用 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) {
}

关于javascript - 在 OS X JavaScript for Automation (JXA) 中附加事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27054016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com