Python实现在Mac上发送免费的iMessage消息

iMessage是由苹果公司提供的即时通信服务,在苹果设备之间进行消息传递。它是集成在iOS、iPadOS、macOS和watchOS操作系统中的默认消息应用程序。使用iMessage发送消息不会产生额外费用,只需连接到互联网即可。当用户向非iMessage用户发送消息时,iMessage会自动切换到短信(SMS)或多媒体消息服务(MMS)。

使用第三方依赖

我们可以使用第三方的依赖来实现控制Mac发送iMessage消息。

安装依赖

pip3 install py-imessage-shortcuts

创建快捷指令

该依赖的实现原理是通过调用快捷指令,将参数传递到快捷指令中来实现发送iMessage消息,公众号回复:iMessage快捷指令获取快捷指令文件,获取到快捷指令需要在Mac中双击安装即可。

Python实现在Mac上发送免费的iMessage消息

代码调用

只需要一行代码即可实现发送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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!