我想使用applescript删除使用电子邮件地址向我发送邮件的人的对话。我想保留所有来自手机号码的会话,但删除所有会话,其中我的通讯员是电子邮件地址。
我试过了:
tell application "Messages"
tell every item
delete (every item whose sender contains ".com")
end tell
save
end tell
答案 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