Comment envoyer un texte imessage avec applescript, seulement dans le service fourni?

quelqu'un peut-il me montrer comment envoyer un message directement à l'utilisateur d'iMessage via L'application Messages?

tell application "Messages"
    if service type of service of buddy whose name is ("Name here" is "iMessage") then set x to 1
    if service type of service of buddy whose name is ("Name here" is "iMessage") then set x to 2
    if service type of service of buddy whose name is ("Name here" is "iMessage") then set x to 3

    send "Message" to buddy "mail of name" of service x
end tell

je dois envoyer un message à un compte uniquement via iMessage, pas via google talk, AIM, bonjour. Je vous remercie!

12
demandé sur Andrew Mast 2012-08-05 01:40:20

6 réponses

au lieu d'avoir à programmer le service iMessage, vous pouvez le trouver automatiquement:

  1. Enregistrer le script suivant sendMessage.applescript (Remarque: assurez-vous de choisir les Texte option).
  2. Exécuter en cours d'exécution: osascript sendMessage.applescript 1235551234 "Hello there!".
  3. ceci enverra un message électronique au numéro de téléphone 123-555-1234 contenant le texte " Hello there!".

sendMessage.applescript:

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
37
répondu Senseful 2013-11-01 18:14:35

pour autant que je le comprenne, vous ne pouvez pas commencer une nouvelle conversation via AppleScript. Ainsi, le compagnon et le service doivent s'intégrer et doivent avoir une conversation continue.

Si vous avez le nom de l'ami que vous pouvez faire ce qui suit

tell application "Messages"
    get name of service of buddy "Buddy Name"
end tell

ceci retournera le nom de service qui correspond au buddy. Bien sûr, vous pouvez également utiliser le service id. Mais je tiens à utiliser le nom.

À la fin vous serez en mesure d'envoyer un message

tell application "Messages"
    send "Text of Message" to buddy "+43 555 XXXXXXX" of service "E:example@mac.com"
end tell
7
répondu Touri 2013-01-22 23:33:28

ce script enverra un message toutes les 10~30 secondes

tell application "Messages"

    set targetBuddy to "+12025551234"
    set targetService to id of 1st service whose service type = iMessage

    repeat

        set textMessage to "Hi there!"

        set theBuddy to buddy targetBuddy of service id targetService
        send textMessage to theBuddy

        delay (random number from 10 to 30)

    end repeat

end tell
6
répondu Vitim.us 2014-05-12 22:17:18

Exemples:

get services
get name of services
get buddies
get name of buddies 

Votre ligne:

send "Test-Message" to buddy "buddy" of service "service"

semble fonctionner si "copain" et "service" est valide.

j'ai mon iMessage avec mon Apple-ID enregistré, donc quand j'exécute "get name of services" j'obtiens pour ce service une chaîne comme