如何用脚本调用Messages.app发信息,自动回复信息(一)
本文主要从技术角度上告诉你如何实现用脚本控制mac系统的信息应用自动发送iMessage信息。

现在短信这个玩意,基本上已经变成收验证码和收垃圾广告的工具了,想想当年我们上大学的时候,为了给女朋友发短信,想尽各种办法寻找便宜的或者免费的发短信的方式,订购移动运营商的各种短信包,走飞信,走139邮箱短信提醒等等...谁让我们是穷逼大学生呢。
现在我们的短信收件箱,除了验证码就是各种优惠活动和澳门赌场
之类的黑产了吧~黑产们利用iMessage免费的利好,通过技术手段自动给任意手机号发送推广信息,他们是怎么做到的呢?
了解 AppleScript
AppleScript是苹果公司开发的一种脚本语言,可以用来控制运行于Mac OS上的程序,也可以写成独立运行的Applet。最早版本在1993年十月推出,在System 7(System 7.1.1)运行。
是的,他们就是用AppleScript
脚本来控制mac系统上的信息app(Messages.app)来实现自动发信息的。
脚本
-
脚本编辑器
在你的Launchpad的有这么一个应用,没有找到的话,看看是不是在你的其他
文件夹里面。打开这个应用,然后从菜单里面的文件
-打开词典
,他会弹出来一个应用列表,这里面的应用就是都支持AppleScript控制的应用,找到信息
这个应用,选取打开你会看到如下图所示
其中Messages Suite里面罗列了一批指令,比如log in
,send
等,这些就是控制指令,可以主动操作信息
app,下面的窗口里面也有相关指令的介绍和参数介绍。这里就不过多解释了。下面咱们就来说说怎么写脚本代码吧~
-
脚本编写
主动发信息调用的是send
这个指令,可以看到他的说明是
send v : Sends a message or file to a buddy or to a chat.
send text or file
to buddy or text chat
buddy
是指单一个人,就是发送给个人,私聊的概念吧。
chat
是iMessage群组
打开你的脚本编辑器
,新建一个空脚本,写入如下代码
on run {targetBuddyPhone, targetMessage}
tell application "Messages"
set targetService to 1st service whose service type = iMessage
set targetBuddy to buddy targetBuddyPhone of targetService
send targetMessage to targetBuddy
end tell
end run
第一行是指脚本接受两个参数targetBuddyPhone
,targetMessage
,一个是收信人的手机号,一个是信息内容。
第二行的内容是指定控制的应用为Messages
.app,就是信息
这个应用。
第三行第四行是为了获取到收信人的iMessage账号信息。
第四行就是把内容发送给这个收信人。
是不是感觉很简单?保存一下这个脚本,命名为sendMessage
,会在你保存的目录生成一个sendMessage.scpt
文件,怎么调用这个脚本呢?使用macos内置的osascript
指令调用applescript脚本。
$ osascript sendMessage.scpt 13888888888 "Hello World!"
注意事项:请在运行这个命令之前先打开
信息
应用,并先给13888888888
手动发一条信息,之后,再运行上述命令。
你就会发现信息
应用自己弹出来并发送了一条消息给你指定的人。
-
脚本新建对话
上面玩过之后,你会问,这要自己手动新建一个对话,还要手动发过一条信息之后才能用脚本自动给对方发消息,那还玩个毛啊。我要是要学澳门威尼斯xxx
那样群发好几千几万人,手动新建不得累死去啊。
是的,你问对了同学,说明你很有商(fan)业(zui)头(tian)脑(fu)啊!那么如何才能用脚本新建对话呢?
预知后事如何,且听下回分解