Как разобрать ответ Skype с AppleScript? - PullRequest
0 голосов
/ 09 ноября 2009

По сути, мне нужно проанализировать строку ответа команды CHAT CREATE с AppleScript, чтобы получить chatid. Ответ выглядит так:

CHAT # my.username / $ 123abc456blah STATUS MULTICHAT

Я пытался

set chatid to item 2 of response

но это возвращает 'H' - я тоже пытался

set chatid to word 2 of response

но это возвращает "мой". Я полагаю, что это простой вопрос для тех, кто знает AppleScript. Вот пример сценария ...

tell application "Skype"
    set response to (send command "CHAT CREATE username1, username2" script name "MyScript")
    set chatid to ***WHAT GOES HERE?***
    send command "ALTER CHAT " & chatid & " SETTOPIC Hello" script name "MyScript"
end tell

Ответы [ 2 ]

3 голосов
/ 09 ноября 2009

Ты очень близко. Попробуйте это:

set oldDelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to {" "}
set chatid to text item 2 of response
set AppleScript's text item delimiters to oldDelims
0 голосов
/ 09 ноября 2009

Эта часть дает вам идентификационную часть (которую, я полагаю, составляет #my.username/$123abc456blah часть)

set c to "CHAT #my.username/$123abc456blah STATUS MULTICHAT"
set hm to do shell script "perl -e '\"" & c & "\"=~/\\w (.*?) \\w/;print$1' "

Однако это не чистый AppleScript, я вызываю perl, чтобы выполнить тяжелую работу, используя регулярные выражения.

...