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!
6 réponses
au lieu d'avoir à programmer le service iMessage, vous pouvez le trouver automatiquement:
- Enregistrer le script suivant
sendMessage.applescript
(Remarque: assurez-vous de choisir les Texte option). - Exécuter en cours d'exécution:
osascript sendMessage.applescript 1235551234 "Hello there!"
. - 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
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
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
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