Envoyer un message texte par programme via l'application Messages sur OS X 10.10


9

Avec OSX 10.10, vous pouvez désormais envoyer et recevoir des messages texte via votre téléphone, depuis votre mac. Est-il possible de le faire par programmation? Soit via Applescript ou une API de reverse engineering?

Réponses:


9

En utilisant:

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

J'ai remarqué que j'ai "SMS" comme 4ème option (le vôtre peut être différent). Alors j'ai utilisé:

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

Cela me permet d’envoyer un message texte par SMS. Je ne suis pas sûr à 100% que je l'ai fait correctement, mais cela fonctionne si targetService pointe sur "SMS". Maintenant, convertissez-le en un script qui fonctionne à partir du terminal.


5

Il existe de nombreux bons exemples d'utilisation d'Applesccript pour envoyer des iMessages. Je n'en ai pas encore trouvé qui fonctionne avec un numéro via sms, le script ci-dessous ne fonctionne qu'avec iMessage. En outre, il est limité au (x) numéro (s) dans vos contacts (liste de contacts) et sera erroné si le contact / numéro ne figure pas dans vos contacts. En voici une que j'utilise pour envoyer des notifications de sauvegarde complète du serveur.

Créez un script appelé " sendMessage.scpt " avec le code suivant:

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

Ensuite, à partir de terminal.app, exécutez cette commande pour envoyer iMessage:

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

remplacez simplement 12345550123 par le numéro de votre envoi.

Lien vers le guide original de stackeoverflow


Pour démarrer une nouvelle conversation, suivez ce qui suit stackoverflow.com/a/56451691/317461
mahal tertin

3

send.scpt

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

lancer depuis le terminal comme ceci:

osascript send.scpt +48500123456 'hello andi!'

cela fonctionne à la fois avec iMessage et SMS standard lorsque vous avez activé l'option sur votre iPhone Text Message Forwardingen configurant votre périphérique MacBook, par exemple.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.