Objectif : activer le statut « en ligne » durant les heures de bureau, « hors ligne » en dehors de ces horaires.
Skype propose une seule fonction AppleScript native : « send ». Cette fonction permet d’envoyer une commande API Skype à l’outil de communication. Pour définir un statut, nous avons à notre disposition :
- SET USERSTATUS pour définir un statut
- GET USERSTATUS pour obtenir le statut en cours.
Les statuts disponibles sont :
- ONLINE (connecté)
- AWAY (absent)
- DND (ne pas déranger)
- INVISIBLE (invisible)
- OFFLINE (déconnecté)
Exemple, pour activer le statut « connecté » de Skype en AppleScript, une simple ligne :
send command "SET USERSTATUS ONLINE" script name "AppleScript status setter"
Automatiser la déconnexion
En exemple, ce script AppleScript vérifie
- si nous ne sommes pas dimanche
- si Skype est activé
- si le statut actuel n’est pas déjà « déconnecté »
- change le statut pour « déconnecté »
set jour to weekday of (get current date)
if jour is Sunday then return -- pas le dimanche
tell application "System Events"
-- si Skype est actif
if (exists process "Skype") then
tell application "Skype"
-- demande le statut actuel
send command "GET USERSTATUS" script name "AppleScript status setter"
set lestatut to the result
if lestatut is not "USERSTATUS AWAY" then
send command "SET USERSTATUS AWAY" script name "AppleScript status setter"
end if
end tell
end if
end tell
Enregistrez ce script dans, par exemple, votre dossier Scripts, fichier SkypeSetAway.scpt
Vous pouvez également télécharger ces 5 scripts AppleScript pour changer votre statut en cours pour Skype.
Pour automatiser cette action, disons tous les soirs à 19 heures, sauf le samedi et le dimanche, le cron vous tend les bras. Pour éditer la crontab (la table du cron), une ligne dans votre terminal :
crontab -eEt dans la table proposée, ajouter une ligne du style :
0 19 * * 1-6 osascript ~/Scripts/SkypeSetAway.scpt Vous pouvez également automatiser via launchctl/launchd. Certains trouvent ces commandes plus pratiques que le cron.
Autre solution pour automatiser cette action : placer un événement dans le calendrier :
- Lancez iCal
- Fichier > Nouvel événement
- Editez l’événement et définissez l’alarme en tant que « Exécutez un script ». Sélectionnez le script.
- Il ne vous reste plus qu’à définir la périodicité.