iMessage是由苹果公司提供的即时通信服务,在苹果设备之间进行消息传递。它是集成在iOS、iPadOS、macOS和watchOS操作系统中的默认消息应用程序。使用iMessage发送消息不会产生额外费用,只需连接到互联网即可。当用户向非iMessage用户发送消息时,iMessage会自动切换到短信(SMS)或多媒体消息服务(MMS)。
使用第三方依赖
我们可以使用第三方的依赖来实现控制Mac发送iMessage消息。
安装依赖
pip3 install py-imessage-shortcuts
创建快捷指令
该依赖的实现原理是通过调用快捷指令,将参数传递到快捷指令中来实现发送iMessage消息,公众号回复:iMessage快捷指令
获取快捷指令文件,获取到快捷指令需要在Mac中双击安装即可。

代码调用
只需要一行代码即可实现发送iMessage消息,需要注意的是我们需要给Python
程序控制电脑的权限。
import imessage
imessage.send(['目标apple id'], '嗨👋,此消息由Python代码调用发送')
使用AppleScript
还有一种简单粗暴的方式,就是通过Apple自己的脚本AppleScript来调用发送iMesaage消息。
编写AppleScript脚本
tell application "Messages"
set targetService to 1st service whose service type = iMessage
set targetBuddy to buddy "此处是接收人的AppleId或邮箱" of targetService
send "此处是要发送的消息" to targetBuddy
end tell
脚本解析
tell application "Messages"
这行代码告诉AppleScript要与”Messages”应用程序进行交互。
set targetService to 1st service whose service type = iMessage
此代码将iMessage
设置为第一服务,表示要发送的是iMessage消息。
set targetBuddy to buddy "此处是接收人的AppleId或邮箱" of targetService
设置一个接收人将此处是接收人的此处是接收人的AppleId或邮箱
修改为目标的AppleId或者是邮箱地址。
send "此处是要发送的消息" to targetBuddy
此代码故名思义就是将该消息发送给上面指定的接收人。
Python中调用
Python通过执行shell来运行AppleScript的脚本:
import subprocess
# 接收人appleid或者邮件地址
target = "test@qq.com"
message = "此消息由Python程序调用发出"
# 构建AppleScript脚本
applescript = f'''
tell application "Messages"
set targetService to 1st service whose service type = iMessage
set targetBuddy to buddy "{target}" of targetService
send "{message}" to targetBuddy
end tell
'''
# 执行AppleScript脚本
subprocess.run(['osascript', '-e', applescript])
欢迎大家关注我的公众号,将会为大家推荐更优质的内容!
原文始发于微信公众号(青檬小栈):Python实现在Mac上发送免费的iMessage消息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/213759.html