轻松实现iMessage群发

iMessage是苹果公司的一款即时通讯软件,它可以在iPhone、iPad、Mac和Apple Watch等苹果设备上使用。iMessage可以通过Wi-Fi或蜂窝网络发送文本、图片、视频、语音消息和表情等多种类型的消息。iMessage还支持发送短信和彩信,与普通短信和彩信相比,iMessage消息可以更快速、更安全地传输,同时还可以实现端到端加密,保护用户的隐私。iMessage还可以创建群组聊天和发送位置等功能,方便用户与朋友、家人和同事之间进行沟通和协作。
研究怎么实现iMessage群发先是从XMPP协议开始的,因为Apple MAC os上的ichat是XMPP客户端,可以连接iMessage服务器,同时也可连接gtalk与weibo私信。但后面发现iMessage的服务器验证是加密,没办法实现非ichat XMPP客户端连接iMeesage服务器,那就自然没办法实现程序控制往iMeesage服务器批量发送信息。

只能通过MAC OS或者iOS自带的程序往iMeesage服务器发送信息,那要实现群发,自然只能想办法去调用自带的这ichat客户端,在MAC OS系统上Apple公司提供一种叫Apple script的脚本来自动实现任务。可能通过tell application "Messages"就可以激活iMessage客户端自动发送信息。这样实现的群发的思路就很清楚了。

一、账户获取和如何实现iMessage群发
群发iMessage主要需要攻破两个技术难点,一个是iMessage账号的获取,另一个是群发iMessage。相关技术参考相关文章:https://blog.csdn.net
#账号获取
iMessage账号目前获取的方法主要是扫描手机号码。扫描手机号码可以通过代码自动扫描,也可以通过人工筛选。通过代码自动扫描,建议大家可以从以下两方面着手
1.编写AppleScript脚本控制Mac OS自带的iMessage客户端进行验证,类似于群发iMessage。发送一条iMessage之后,如果捕获到发送失败的异常则不是iMessage账号
2.研究iOS系统中Message framework中的私有api,通过私有api进行验证

 实现iMessage群发
1.通过AppleScript实现批量注册itune帐号
2.通过AppleScript实现自动取一个itune帐号群发100个APPle ID的iMessage

set EMAIL to "EMAIL_DEL_DESTINATARI" -- el destinatari ha de tenir l'iMessage activat
set MSG to "COS_DEL_MISSATGE"
set N to the 1000 -- nombre de vegades que s'enviarà el missatge
set APPLE_ID to "E:" -- la teva Apple ID que ha de tenir iMessage activat
repeat N times
    tell application "Messages"
        send MSG to buddy EMAIL of service APPLE_ID
    end tell
end repeat

二、iMessage群发
检验完所有账号后,可以从中选取出iMessage账号进行群发。群发有两个方法,一个还是通过iMessage客户端,另一个是通过AppleScript脚本控制iMessage客户端发送。
1.通过iMessage客户端发送,可直接将号码粘贴至地址栏,填写内容,发送即可。
2.通过ApplseScript控制iMessage客户端的脚本如下:以下代码可从一个csv文件中读取出iMessage账号,并通过iMessage客户端逐个发送iMessage消息。

需要注意如下问题:
1.由于该脚本是控制iMessage客户端进行发送,所以必须在MacOS 10.8以上的系统中运行,同时开启iMessage程序。
2.该脚本在发送iMessage时并不是后台发送,所以当发送量很大时,会导致iMessage客户端运行缓慢,甚至无法开启。可通过清空所有已发送的iMessage或注销账号解决。
3.通过脚本发送的iMessage账号必须是在当前iMessage客户端中检验过的,否则会报“不能获得“buddy id "C0B35E7F-A0FB-49E1-BDD7-C867BC06D920:+86136xxxx0000"”。

三个问题解决方案如下:
第一个问题用mac os系统或者黑苹果装10.8操作系统,会自带messages程序,这程序系统自带,千万不会发现打不开去删除Messages程序,删除就只能重装系统了。并且是先打开Messages程序,再启动apple script脚本,不然运行不正常。
第二个问题,在发送过程中加入同步删除的代码,但同步一条一条删除时有时会失败,所以再增加发一定量后再批量删除一次的操作,正常的流程应该是打开Messages程序->循环号码库->读取一个号码->发送一条信息->等待1秒->删除此条信息->判断是否未删除的超过100条,是批量删除->循环号码库。这样就可以保证Messages程序不会去占百分一百多的CPU或者几个G的内存。
第三个问题,在messages程序的imessage帐号中设置用来群发的imessage帐号。就没有问题了。

tell application "Messages"
set csvData to read "/Users/用户/Desktop/test.txt"
set csvEntries to paragraphs of csvData
    repeat with i from 1 to count csvEntries
        set phone to (csvEntries's item i)'s text
        set myid to get id of first service
        set theBuddy to buddy phone of service id myid
        send "今天北京晴,气温16到23度;周三晴,气温16到23度,北风1-3级;周四晴,气温17到25度,微风<3" to theBuddy
        delay 3 -延时三秒,不然取不到已发达的内容
        set FailNum to (get count chat)
            if FailNum>100 then
                repeat with j from 1 to FailNum
                set phone to (get name of chat (FailNum-j))
                set DelMsg to "iMessage;-;" & phone
                if exists (text chat id DelMsg) then
                    delete text chat id DelMsg
                end if
                end repeat
            end if
    end repeat
end tell

  • 19
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AppleScript是一种编程语言,专门用于Mac OS X和其他苹果计算机系统。使用AppleScript脚本,您可以编写脚本和程序来控制您的计算机并执行各种任务。 iMessage是苹果公司的一款即时通讯应用程序,专门用于iOS和Mac OS X。使用iMessage,您可以发送文本消息,照片,视频等等。 您可以使用AppleScript编写iMessage脚本来自动化iMessage消息的发送和接收,这样就可以方便地向大量人发送消息而不必一个个地输入他们的电话号码或电子邮件地址。 要使用AppleScript进行iMessage群发,请遵循以下步骤: 1.打开AppleScript脚本编辑器。您可以在Launchpad中找到它。 2.编写iMessage群发的脚本代码。您可以使用iMessage的AppleScript命令来发送消息和打开iMessage应用程序,使其更容易与iMessage集成。 3.将要发送消息的电话号码或电子邮件地址放入脚本中。 4.运行脚本并等待消息发送完成。 请注意,AppleScript脚本的编写需要一定的技能,因此如果您不熟悉这个过程,请先学习一些相关的基础知识。 最后,应该注意的是,在使用iMessage进行群发时,您需要确保已经得到所有人的许可,并且没有侵犯他们的隐私权。 ### 回答2: AppleScript是一种脚本语言,旨在帮助用户自动化和简化常见任务。如果您正在使用Mac电脑,可能已经熟悉发短信或iMessage应用程序。不过,手动发送同样消息给多个人可能会非常耗费时间和精力。这时,AppleScript就可以提供你帮助了。 iMessage是一款针对Apple设备的即时消息应用程序,它允许用户通过Wi-Fi或移动数据网络发送多媒体消息,包括照片、视频、录音等等。如果您想向多个联系人发送相同的消息,您可以使用AppleScript脚本来实现。 以下是如何使用AppleScript编写iMessage群发脚本的步骤: 步骤一:准备联系人 首先,您需要准备好要发送消息的联系人列表。您可以打开联系人应用程序并创建一个名为“iMessage Recipients”的组。将联系人添加到此组中。您还需要确保联系人的手机号码已在您的联系人列表中完成。 步骤二:打开AppleScript编辑器 打开“应用程序”文件夹中的“实用工具”,然后选择“脚本编辑器”。这将打开AppleScript编辑器,您可以使用它来编写脚本。 步骤三:编写脚本 在AppleScript编辑器中,您可以开始编写脚本。以下是一个简单的例子: set iMessageRecipients to {“+86123456789”, “+86123456789”} //将要接收iMessage消息的手机号列表 set iMessageContent to “Hello World!” //消息内容 repeat with recipient in iMessageRecipients tell application “Messages” send iMessageContent to recipient end tell end repeat 上述脚本将遍历iMessageReceipients列表中的每个条目。在 Messages 应用程序中发送消息给指定的手机号码。您可以将iMessageRecipients列表替换为您的联系人列表,将iMessageContent替换为您要发送的消息。 步骤四:运行脚本 在编写完脚本之后,您可以单击AppleScript编辑器中的“运行”按钮,或者使用快捷键“Command+R”来运行脚本。Messages 应用程序将自动打开,然后发送您的消息,您可以在屏幕上看到发送的进度。 总结: 使用AppleScript编写iMessage群发脚本,可能需要一点时间来设置您的联系人列表和编写脚本。不过一旦设置好了,对于经常需要发送同样消息给多个人来说,这个脚本会节省您大量的时间和精力。 ### 回答3: 苹果公司的Applescript脚本是一种编写自动化任务的语言,可以用来控制电脑上的各种应用程序进行指定操作。其中,iMessage是苹果公司的一款即时通讯工具,用户可以在电脑上使用iMessage应用程序进行聊天和发送短信。有些用户需要使用iMessage发送一条消息给多个联系人或群组,这时可以使用Applescript脚本来自动化完成这个任务。 编写Applescript脚本群发iMessage需要掌握一定的脚本语言知识和iMessage API接口,以下是一个简单的群发脚本示例: 1. 打开Applescript编辑器; 2. 输入以下代码: tell application "Messages" set targetBuddies to {"first contact", "second contact", "third contact"} set targetService to id of service "iMessage" repeat with theBuddy in targetBuddies set targetId to id of buddy theBuddy of service id targetService send "message content" to targetId end repeat end tell 3. 修改代码中的“first contact”、“second contact”等为你要发送的联系人的名称; 4. 将“message content”替换为你要发送的消息内容; 5. 点击菜单栏的“运行”按钮或使用快捷键Command+R来执行脚本。 上述脚本可以将“message content”发送给targetBuddies中指定的所有联系人。这只是一个简单的示例,实际使用可以根据需求进行修改。 需要注意的是,使用Applescript脚本进行iMessage群发需要开启“允许远程自动化”权限。用户可以在系统偏好设置的“安全性与隐私”中找到这个选项。同时,使用脚本进行群发也需要谨慎,尤其是针对大量联系人,避免因为过于频繁的发送消息而被判定为垃圾短信和滥用iMessage服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值