I’m trying to write an Applescript that will make an outgoing Skype call at times scheduled by received invites from other parties.
I think I’m fine with the script to Skype’s API to make the call, however I’m struggling with iCal with either method of
A) getting the script to run in the background and getting the time of all new events, or
B) getting the event alert to run a one-off script.
The issue with option B) is that although you can set events from within iCal so that the alert runs a script, I need to trigger this from events that have been received.
A typical example would be:
- All scripts and iCal running on the Host
- At 10am a User schedules an event (via google cal on portable device) for 3pm** and invites the the Host.
- At 3pm the script on the Host uses Skype API to make a call to the User.
** this could just as equally be on a date in the future and the requirements still hold.
Many thanks for any advice!
Since iCal doesn’t have any notifications (some applications do like iChat) you’ll have to run a “stay open” applescript application. Something like this will do it for your “B” scenario. NOTE: you will have to add the path to your applescript file (the one that makes your Skype call) in the “applescriptPath” variable.
When launched it will get a listing of all the calendar events you have in iCal. It will then run itself every 5 minutes. When it runs it will check the current events against the list of events it originally made. If there are new events then your applescript will be added as an alarm to the new events. This way it keeps track of the current events between runs and only finds the new ones.
So this script should be a good starting point for you. Remember to save it as a stay-open applescript application. You probably will want to modify it. For example I have it checking every calendar for new events but you may have one particular calendar you want to target. Good luck.