OS X Messages AppleScript 处理程序:保存图像?

Posted

技术标签:

【中文标题】OS X Messages AppleScript 处理程序:保存图像?【英文标题】:OS X Messages AppleScript handler: save images? 【发布时间】:2015-08-10 18:53:49 【问题描述】:

我一直在尝试使用 AppleScript 将收到的消息保存在 Apple Messages 帐户中,如下所示:

on active chat message received theMessage from theBuddy
    set theFileID to open for access POSIX file "/Users/me/Desktop/test" with write permission
    write theMessage to theFileID
    close access theFileID
    return theMessage
end active chat message received

这对文本消息很有用,但如果用户发送图像,则消息似乎只是一个空字符串。有什么方法可以获取这张图片,或者 - 我担心 - 它无法访问?

【问题讨论】:

据我所知,图像被视为file transfer 并自动保存。当文件传输完成提供路径和其他属性时,会调用另一个事件处理程序。 我尝试收听“已完成的文件传输”,但它从未被触发。与此同时,我发现 Messages 使用 SQLite 作为数据后端,所以我只是在使用它(但并非适用于所有人) 尝试收听“收到的文件传输邀请”,看看是否有影响。 【参考方案1】:

这不是一个直接的答案,但我发现 OS X 消息应用程序使用 SQLite 进行存储,地址为 ~/Library/Messages/chat.db。它有一个名为attachment 的表,其中列出了所有附件的文件名。

就我的目的而言,这已经足够了 - 但我很想知道是否有更多合法的替代方案。

【讨论】:

以上是关于OS X Messages AppleScript 处理程序:保存图像?的主要内容,如果未能解决你的问题,请参考以下文章

OS X (macOS) 和低级 C(Objective-C 替代方案)中的 Applescript

通过 AppleScript 从 iMessage 发送 GIF

如何使用 AppleScript 在 iMessage 中开始新对话?

如何使用 AppleScript 在 iMessage 中开始新对话?

如何以编程方式修改 OS X 照片库?

如何在 Mac OS X 10.6 中发出硬件哔声