如何使用Applescript删除其发件人包含来自Messages应用程序的电子邮件地址的对话

时间:2015-07-11 12:05:45

标签: applescript messages

我想使用applescript删除使用电子邮件地址向我发送邮件的人的对话。我想保留所有来自手机号码的会话,但删除所有会话,其中我的通讯员是电子邮件地址。

我试过了:

tell application "Messages"
    tell every item
        delete (every item whose sender contains ".com")
    end tell
    save
end tell

1 个答案:

答案 0 :(得分:0)

所有可编写脚本的应用程序都有一个AppleScript字典,可以通过Window从脚本编辑器访问 - >图书馆菜单。阅读应用程序的字典可以帮助您获得生成脚本以进行出价的正确术语。

以下脚本将成功创建所有聊天(对话)的聊天ID列表,其中至少有一位参与者正在使用电子邮件地址。我没有测试删除部分,因为我对删除任何内容都不感兴趣。我强烈建议您运行Time Machine或其他备份服务 BEFORE 执行脚本的这一部分,以防您收到意外结果。

set chatsToKill to {}
tell application "Messages"
    set allChats to every chat
    repeat with eachChat in allChats
        set thePeeps to participants of eachChat
        repeat with oneParticipant in thePeeps
            if oneParticipant's handle contains "@" then
                if chatsToKill does not contain eachChat's id then set end of chatsToKill to eachChat's id
            end if
        end repeat
    end repeat
    repeat with deathChat in chatsToKill
        delete item 1 of (get every chat whose id = deathChat)
    end repeat
end tell