Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


apple-mac-os:macos-ventura:sending-sms-or-imessage-messages-with-applescript-on-apple-macos

Отправка сообщений SMS или iMessage скриптом AppleScript в ОС Apple macOS

Отправку сообщений 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)

Автор первичной редакции:
Виталий Якоб
Время публикации: 08.07.2023 10:20

Обсуждение

Ваш комментарий:
 
apple-mac-os/macos-ventura/sending-sms-or-imessage-messages-with-applescript-on-apple-macos.txt · Последнее изменение: 08.07.2023 10:22 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki