2 votes

Comment créer un nouveau message dans iChat sans l'envoyer, en utilisant Automator pour saisir le texte sélectionné

Je cherche à créer un service qui récupère l'URL d'un lien, puis crée un iMessage vide avec cette URL dans le corps. En gros, je veux recréer cette fonctionnalité de partage de Message dans Safari sur Mountain Lion, mais avec Reeder.app, spécifiquement. Le "Copier le lien" du menu contextuel ne fonctionne pas toujours, notamment lors de l'envoi à un iPhone, l'URL est supprimée et tout ce que vous obtenez est l'alias.

J'ai mis en place un automate avec AppleScript, et je peux certainement envoyer un message à un ami, si ces choses sont spécifiées. Je préférerais remplir cela dans iMessage, car je ne vais pas toujours envoyer au même personne.

Le code ci-dessous fonctionne, en utilisant "set input" comme proxy pour la récupération de l'URL de l'automate pour le moment.

set input to "http://aol.com"
tell application "Messages"
          set theBuddy to buddy "camelot@mac.com" of service "iCloud"
          send input to theBuddy
end tell

J'ai aussi essayé

tell application "Messages"
    set theBuddy to buddy "*" of service "iCloud"
    set input to invitation message of text chat of service "iCloud"
end tell

Les deux extraits viennent de https://discussions.apple.com/thread/3923965?start=0&tstart=0

0 votes

Intéressant, dans une solution de contournement, en utilisant les deux copains utiliseront presque toujours avec 'envoyer l'entrée à "buddy@me.com"', j'obtiens un service opérationnel. Il est disponible dans Safari pour une URL, mais il n'est pas disponible dans Reeder.app en tant que service pour quoi que ce soit. Il ne s'affiche pas dans le menu contextuel, il n'apparaît pas dans Reeder > Services. Curieux. Est-ce un problème de Reeder ? J'ai remarqué que mon service est dans la catégorie "Internet" dans Services Manager...Je préférerais toujours avoir un iMessage vide avec une URL dans le texte, donc je peux le modifier si je veux.

1voto

Matthieu Riegler Points 20160

Vous devez le faire avec le scripting de l'interface utilisateur :

tell application "System Events" to tell process "Messages"
    set input to "http://aol.com" as text
    click button 1 of group 1 of splitter group 1 of window 1
    delay 1
    keystroke "Buddy@provider.com" -- type the reciever
    keystroke return -- validate the previous input
    keystroke tab -- move to message input
    keystroke input -- type the message
end tell

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