Invio programmatico di messaggi di testo tramite l'app Messaggi su OS X 10.10

6

Con OSX 10.10 ora puoi inviare e ricevere messaggi di testo tramite il tuo telefono, dal tuo Mac. È possibile farlo programmaticamente? O tramite il applescript o un'API con reverse engineering?

    
posta Glenn Vandamme 19.12.2014 - 02:06
fonte

3 risposte

5

Ci sono alcuni buoni esempi là fuori per l'utilizzo di Applesccript per inviare iMessages. Non ne ho ancora trovato uno che funzioni su un numero via sms, lo script qui sotto funziona solo con iMessage. Inoltre si limita al numero (s) nei tuoi contatti (buddy list) e errore se il buddy / numero non è nei tuoi contatti. Ecco uno che uso per inviare notifiche di un backup del server completo.

Crea un applescript chiamato " sendMessage.scpt " con il seguente codice:

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

Quindi da terminal.app esegui questo comando per inviare iMessage:

osascript /path/to/sendMessage.scpt 12345550123 "Your Text Message to Send"

modifica 12345550123 al numero da inviare a

Link alla guida originale di stackeoverflow

    
risposta data 19.12.2014 - 15:52
fonte
5

Utilizzo:

tell application "Messages"
    get name of every service
end tell

Ho notato che ho "SMS" come quarta opzione (la tua potrebbe essere diversa). Quindi ho usato:

launch application "Messages"
tell application "Messages"
     activate --steal focus

     set targetBuddy to "12345550123"
     set targetService to id of service "SMS"
     set textMessage to "Just a test"

     set theBuddy to buddy targetBuddy of service id targetService
     send textMessage to theBuddy
end tell

Questo mi consente di inviare un messaggio di testo tramite SMS Relay. Non sono sicuro al 100% di averlo fatto correttamente, ma funziona se targetService punta a "SMS". Ora per convertirlo in uno script che funzioni dal terminale.

    
risposta data 22.12.2014 - 12:27
fonte
1

send.scpt

on run {phoneNumber, message}
    tell application "Messages"
    send message to buddy phoneNumber of service "SMS"
    end tell
end run

esegui da terminale come questo:

osascript send.scpt +48500123456 'hello andi!'

funziona sia con iMessage sia con SMS standard quando hai abilitato sul tuo iPhone l'opzione Text Message Forwarding impostando il tuo dispositivo e.g Macbook.

    
risposta data 14.10.2017 - 15:59
fonte

Leggi altre domande sui tag