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?

Glenn Vandamme
la source

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.

Poignard
la source
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

tron_jones
la source
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.

andilabs
la source