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 ?
Réponses
Trop de publicités?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.
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.
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.