User Tools

Site Tools


skcmd

skcmd

This page tries to explain quicly how to install and use skcmd. skcmd enables you to control Skype, while it's running, through your commandline. It is perfect to work around the accessibility problems of the main interface of Skype, as well as the major bugs in the plugin pidgin-skype.

The following instructions were tested on Vinux 4.0, i.e. Ubuntu 12.04, as well as Debian Wheezy 7.0.

What to Install

The simplest solution

On a typical system, the simplest install method is to use the Python cheeseshop. To install it if it is not present on your distribution, do:

sudo apt-get install python-setuptools

This package installs a easy_install command, that you should use like this to install skcmd:

sudo easy_install skcmd

If it does not work

If the method doesn't work but you have a full Python distribution installed, which is the case on Vinux, you can do things manually.

First, install the package python-authkit. It installs a lot of important dependencies, in particular ez_setup.py. Then, download the needed utilities, i.e. skcmd and skype4py.

git clone http://github.com:/lsmithso/skcmd.git
git clone https://github.com/awahlig/skype4py.git

In any order, install both packages. For this, change to their respective directories and run, in each one:

sudo python setup.py install

Usage

Now, to use skcmd, you need to run the daemon, as regular user:

skcmd.py s

Skype will ask you to accept that an outside program wants to use its API. Say yes.

On another tab on window, run the appropriate commands.

Commands

The complete list of client commands are:

authz handle 0|1 - Authorize the contact with handle.

contacts - Prints a list of all your contacts in the format handle/display name/full name/status.

auto_answer 0|1 - Turns off/on autoanswer. Default is off.

hangup - Finish the current call.

exit - Terminate the skcmd server.

answer - Answer the current inbound call.

call handle - Place an outbound call to the user with handle. Handle is the Skype id printed in the 1st column of the 'contacts' command.

tone tones - send DTMF tones, ie for POTS conferencing.

add_contact - Sends an authz requests to handle

search = Search for a Skype user

chat - chat to the user with handle.

status Set your status to DND, INVISIBLE etc

mood - set your mood message

vms - List all voicemails,.

vmplay idx - Play the voicemail with index number idx

vmstop - Stop the currently playing voicemail

vmdelete idx - Delete the voicemail with id idx

me - print your skype id/screen name and your current balance.

help - A breif help message.

Skype status changes

The server logs some Skype status messages to stdout, and signals them on D-Bus.

Status logged includes inbound/outbound call progress (in particular

inbound call ringing), contact authorization requests, contact status changes (online, away etc) and chat messages.

These are plain text messages so a TTS should be able to announce them.

skcmd also signal D-Bus with these status messages. A simple skcmd.el is included that listens for this signal and announces it to emacspeak.

Disclaimer

This software comes with absolutely no warranty whatsoever, and comes AS-IS. Do what you want with itt. I take no responsibility whatsoever for it.

The Demise of the Skype Desktop API

skcmd.py and all other Skype apps depend on the availability of the Skype Desktop API. This is a rich programming interface that makes just about all Skype desktop functionality available to apps. It allows inventive and powerful 3rd party telephony apps to be built around Skype for free. It is a mature and well documented part of the Skype ecosystem.

In July 2013 Microsoft announced that they were killing off this API in favour of a new SkypeURI interface. This interface has vastly reduced functionality, to the point where its almost useless. SkypeURI is unusable for skcmd, and I suspect for a lot of other apps

too.

The announcement says that the Desktop API will begin to stop working in September 2013, and that apps should start using SkypeURI right away.

SkypeURI is not currently available for Linux, so if the Desktop API does stop working, skcmd.py is sunk. Even when it does become available, it is of no use at all, so skcmd.py is still sunk.

As of September 3 2013, skcmd.py was still fully functioning, so enjoy it while you can!

skcmd.txt · Last modified: 2014/03/26 22:58 by Jean-Philippe MENGUAL