Как начать новый разговор в imessage с помощью applescript
поэтому я работаю над созданием applescript, который по существу автоматизирует отправку imessage. То, что я сейчас работаю, это:
on run {msg, phoneNum}
tell application "Messages"
set serviceID to id of 1st service whose service type = iMessage
send msg to buddy phoneNum of service id serviceID
end tell
end run
это работает по большей части только не работает при запуске нового разговора. Когда вы запускаете скрипт на номер, с которым у вас нет разговора в сообщениях, вы получаете всплывающее предупреждение "ваше сообщение не имеет получателей". Однако, это создает разговор с этим человеком, и при запуске того же скрипта снова работает.
Я подумал, что если он работает во второй раз, должен быть способ создать новый разговор, однако я никогда не использовал applescript или какие-либо языки сценариев, поэтому я не уверен, как это сделать.
Edit: сразу после публикации я подумал о грубом обходном пути. Если прямо перед отправкой сообщения вы отправляете пустую строку, вы можете создать новый диалог, и он работает с уже существующим разговор.
on run {msg, phoneNum}
tell application "Messages"
set serviceID to id of 1st service whose service type = iMessage
send "" to buddy phoneNum of service id serviceID
send msg to buddy phoneNum of service id serviceID
end tell
end run
пока это работает, я бы предположил, что есть лучшее/более элегантное решение, чем это.
1 ответов
есть много способов сделать это.
первый пример:
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
второй пример:
tell application "Messages"
set targetBuddy to "+18001234567"
set targetService to id of 1st service whose service type = iMessage
repeat
set textMessage to "Hello pal!"
set theBuddy to buddy targetBuddy of service id targetService
send textMessage to theBuddy
delay (random number from 10 to 30)
end repeat
end tell