12 votes

Envoi programmé d'un message texte via l'application Messages sous OS X 10.10

Avec OSX 10.10, vous pouvez désormais envoyer et recevoir des messages texte par le biais de votre téléphone, depuis votre mac. Est-il possible de faire cela de manière programmatique ? Soit via applescript, soit via une API de rétro-ingénierie ?

13voto

Dirk Points 351

Utilisation :

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

J'ai remarqué que j'avais "SMS" comme 4ème option (la vôtre peut être différente). J'ai donc 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 via SMS Relay. Je ne suis pas sûr à 100% de l'avoir fait correctement, mais cela fonctionne si targetService pointe vers "SMS". Maintenant pour le convertir en script qui fonctionne depuis le terminal.

10voto

sunny256 Points 3262

Il existe un certain nombre de bons exemples d'utilisation d'Applesccript pour envoyer des iMessages. Je n'en ai pas encore trouvé un qui fonctionne vers 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 copains) et se trompera si le copain/numéro n'est pas dans vos contacts. En voici un que j'utilise pour envoyer des notifications lorsque la sauvegarde d'un serveur est terminée.

Créez un applescript nommé " envoyerMessage.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, de terminal.app exécutez cette commande pour envoyer un iMessage :

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

juste changer 12345550123 au numéro que vous envoyez.

Lien vers le guide original de stackeoverflow

6voto

andilabs Points 759

envoyer.scpt

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

exécuté depuis le terminal comme ceci :

osascript send.scpt +48500123456 'hello andi!'

cela fonctionne aussi bien avec iMessage qu'avec les SMS classiques si vous avez activé sur votre iPhone l'option Text Message Forwarding en réglant votre appareil macbook, par exemple.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X