===== Отправка сообщений SMS или iMessage скриптом AppleScript в ОС Apple macOS ===== {{:apple-mac-os:macos-monterey:pasted:20220323-155615.png }} Отправку сообщений **iMessage** или **SMS** можно организовать с помощью **AppleScript** в ОС **Apple macOS**. Это может быть полезно для планирования периодической отправки сообщений, например, для блокировки и отключения подписок мобильных операторов. Пример для одного из операторов мобильной связи в России. --Номер для отправки сообщений set PhoneNumber to "5151" --Сообщения для отключения и блокировки подписок set Messages to {"УСТЗАПРЕТ1", "УСТЗАПРЕТСП", "НЕТКЛИК1", ¬ "УСТПБК1", "УСТЗАПРЕТВП"} tell application "Messages" --Выбираем в качестве отправителя аккаунт службы SMS set SenderService to 1st account whose service type = SMS --Формируем маршрут сообщения set Recipient to participant PhoneNumber of SenderService --Отправляем поочередно каждое сообщение с 10 сек. задержкой repeat with Message in Messages send Message to Recipient delay 10 end repeat end tell Срок блокировки устанавливается на 90 дней, поэтому необходимо запланировать периодичность запуска скрипта, чтобы не вспоминать об этом. Так же можно выполнять рассылки iMessage о каком-то событии на несколько номеров. --Номера для отправки сообщений set PhoneNumbers to {"+76191234567", "+76191234568"} --Сообщение set Message to "Текст рассылки" tell application "Messages" --Выбираем в качестве отправителя аккаунт службы iMessage set SenderService to 1st account whose service type = iMessage --Отправляем поочередно каждое сообщение с 1 сек. задержкой repeat with PhoneNumber in PhoneNumbers --Формируем маршрут сообщения set Recipient to participant PhoneNumber of SenderService send Message to Recipient delay 1 end repeat end tell При необходимости номер телефона и текст сообщения скрипту можно передавать в виде аргументов. on run Arguments --Аргумент с номерами телефонов set PhoneNumbers to items 1 thru -2 of arguments --Аргумент с текстом сообщения set Message to item -1 of arguments tell application "Messages" --Выбираем в качестве отправителя аккаунт службы SMS set SenderService to 1st account whose service type = SMS --Отправляем поочередно каждое сообщение с 1 сек. задержкой repeat with PhoneNumber in phoneNumbers --Формируем маршрут сообщения set Recipient to participant PhoneNumber of SenderService send Message to Recipient delay 1 end repeat end tell end run Передать аргументы скрипты можно в терминале:
/usr/bin/osascript ~/Temp/SendSMS.scpt +76191234567 +76191234568 'Проверка скрипта'
---- Проверено на следующих конфигурациях: ^ Версия ОС ^ | Apple macOS Ventura (13.0) | ---- {{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 08.07.2023 10:20 {{tag>Apple "Mac OS" macOS "macOS Ventura" AppleScript Script SMS iMessage}} ~~DISCUSSION~~