In response to charx posting, I wrote a QS action to send phone
numbers to Skype to dial.
you can download it here:  http://tr.im/D4J6

Install it to: ~/Library/Application Support/Quicksilver/Actions
Then restart QS.

To use:
 grab a phone number from your address book (requires the address book
plugin), or type in a phone number in QS text entry mode. Tab over and
type till you see callSkype, hit enter. This should work. I've got it
set to first strip out parenthesis, dashes, and spaces from the number
so you don't need to worry about that formatting. Then it checks if
the first character of the phone number is a "+" (skype needs phone
numbers to be in the format "+CCC1234567890", where CCC is the country
code.
If you want to call  outside the US you'll need to make sure you
numbers are in that
format. Inside the US they can be formatted for skype, but if they're
not (if there's no "+" at the beginning) the script tacks on a "+1"
for you.  If you store your numbers as "1(222)333-4444", that's ok
too. In the case of numbers not starting with "+", the script takes
the last 10 digits of whatever you send it and adds the "+1".

code:
-- callSkype is a Quicksilver action to make a Skype call
-- using text entered in QS.
-- Install this applescript to /Users/YOURHOME/Library/Application
Support/Quicksilver/Actions
-- elasticThreads, 2009  v1.0

using terms from application "Quicksilver"
        on process text qtxt
                set pn to my parsenum(qtxt)
                set cs to callskype(pn)
        end process text
end using terms from
on callskype(intext)
        set charone to character 1 of intext as string
        if charone is "+" then
                tell application "Skype"
                        send command "CALL " & intext script name "CallScript"
                end tell
        else if (count of intext) > 9 then
                set num1 to characters ((count of intext) - 9) thru (count of
intext) of intext as string
                set callnum to "+1" & num1 as string
                triggerGrowl("Skyping:", callnum)
                tell application "Skype"
                        send command "CALL " & callnum script name "CallScript"
                end tell
        end if
end callskype
on parsenum(thenum)
        set ASTID to AppleScript's text item delimiters
        set AppleScript's text item delimiters to {"-", "(", ")", " "}
        set delimitedList1 to every text item of thenum
        set pCt to count text items of delimitedList1
        set numlist to items 1 thru pCt of delimitedList1
        set AppleScript's text item delimiters to ""
        set I to numlist as string
        set AppleScript's text item delimiters to ASTID
        return I
end parsenum
on triggerGrowl(currentTitle, currentDesc)
        tell application "System Events"
                --set MyApp to name of the first process whose frontmost is true
                set processnames to name of every process
        end tell
        if "GrowlHelperApp" is in processnames then
                tell application "GrowlHelperApp"
                        set the allNotificationsList to {"Notification"}
                        set the enabledNotificationsList to {"Notification"}
                        register as application ¬
                                "Quicksilver" all notifications 
allNotificationsList ¬
                                default notifications enabledNotificationsList ¬
                                icon of application "Skype"
                        notify with name "Notification" title currentTitle 
description
currentDesc application name "Quicksilver"
                end tell
        end if
end triggerGrowl

Reply via email to