General Information
This page is laid out for easy navigation via JAWS:
- Use h to jump from section to section.
- Use Tab to move among links for
different program versions. JAWSKey+F7 should also provide
a list of these links.
Other screen readers should provide similar navigation commands.
Note: Clisk will not run against Skype 8 or newer because the Skype Desktop API it requires is no longer supported by Skype itself on any platform.
Revision 2.5.1
This release contains many enhancements over 2.4.0.
At this writing, the online Users Guide is mostly updated to reflect the
changes in this release, but some items have yet to be added to the Guide.
New and enhanced Clisk commands:
- There is a new AASum command for listing flag assignments
by flag rather than by user. This is very useful when there are many
flags set for users.
- There is a new end command for showing how long from now
and at what time the current SkypeOut call would be force-ended by Skype.
This is useful for long SkypeOut calls because Skype tends to cut them
short at a length of four hours.
- There is a stat command that sends a stat
request to a chosen user without generating a chat line. The
destination user will be able to see the request in the Clisk console
window, but it will not disrupt the Skype windows by creating chat lines.
This only works if both sender and receiver are running Clisk 2.5 or
later. The original method of getting this information, by sending a
?stat chat line to a user, will still work.
- The version command now accepts a user name or partial
name. Without this, it still prints the current Clisk user's version
information. With a user name though, it will attempt to print that
information for the indicated user. This requires that both sender and
receiver are running Clisk 2.5 or later.
This enhancement is implemented via the same datagram-based protocol
used for the above stat command.
- Version requests sent via datagram to other users include access
flags for the sender, if any, in the resulting output. This means a
stat is not necessary to find out what flags another user
has granted you.
- There is a "stamp" option for the options command:
opt stamp 30
causes timestamps to print at most every 30 seconds. A value of
0 means print on every command supporting them, and -1
means never print timestamps. Log timestamps are not affected.
- A new DGram command (which stands for "datagram") will
attempt to make an app-to-app connection to another Clisk user but without
using it for any other purpose. This connection is the type used by the
above stat and version commands, and the connection
attempt will again appear in the Clisk window of both sender and receiver;
but there will be no disruption to the Skype windows. This command will
probably not be of much use except in Clisk development.
Fixes:
- The hangup command can finally hang up an outgoing
voicemail that started because the callee did not pick up.
- The option for making events speak on arrival should now work on
Windows, not just on MacOS. The command affected is opt
speakEvents 1.
For this to work on Windows, the
SayTools package
must have been installed before Clisk is launched.
- The calls command should run faster on MacOS.
- Clisk works around a Skype-for-MacOS bug that otherwise caused
runtime errors on a Skype version request, many of which occur
internally within Clisk. Symptoms of this error in older Clisk
versions would most frequently consist of an "internal error 9901"
appearing at odd times in the Clisk window.
- Automute only applies to calls as they go to inProgress status.
Previously, just holding/resuming a call would mute it if an
m autoAction flag applied to the user in the call.
Download: Revision 2.5.1 Zip
Revision 2.4.0
This release contains several enhancements over 2.3.2.
At this writing, the online Users Guide is not updated to reflect the
changes in this release.
New features:
- Changes in participants and statuses in a non-locally-hosted
conference now print as events in the Clisk window, at least when the
Skype API actually provides accurate information about the conference.
This means, for example, that you will be notified in the Clisk window
when someone is added to or removed from a conference hosted by
someone else, and possibly when one of the members of such a
conference holds the call.
- New
VidStart
and VidStop
commands allow
control of both sending and receiving video from within Clisk. (Of
course both parties in a call must set their video send/receive
statuses correctly in order for video to flow in either direction.)
- There is a new Version command that prints the Clisk
version, Skype version, API protocol number, and API wrapper version,
just as at Clisk startup time.
- There is a new Option command for controlling various
Clisk options. Current usage:
- option
- Without arguments, lists all options and their current values.
- option queueMessages
- Controls whether event messages print immediately or queue up
until the Clisk user presses Enter. Set to a non-zero
value to cause message queueing, e.g.,
option queueMessages 1
- option speakEvents
- Controls whether Clisk sends all incoming event messages through
the MacOS default speaking voice on arrival. Specify a non-zero value
to get this behavior or 0 to disable it.
Warning: This is currently a Mac-specific option and
may cause unpredictable results, including Clisk crashes, if enabled
on another operating system such as Windows.
Option settings are per Skype account and apply even after Skype
and/or Clisk and/or the computer itself is restarted.
- The
OS
command includes mood text when present.
- The Calls command includes in the Call Status column
the word "In" or "Out," indicating if a call is inbound or outbound.
This also applies to the result of a ?stat command sent by
someone with an l flag.
Fixes in this release:
- The Mute command should again report the new mute
status. (The Skype API does not always report this consistently. The
mute status may print twice; the final printed status is accurate.)
OS
indicates deleted contacts and contacts that are
not sharing contact details instead of just calling them "offline."
- The format of statuses in the
WhoIs
command response
is improved slightly (extra parens removed).
- The format of contact status notifications is improved. (These
notifications only print for contacts who have w flags.)
- Various Skype and Skype4Py error messages should be caught and
handled more appropriately. This code is new enough, though, that for
now, Clisk may sometimes print a line that starts with the word
"Dodged," indicating that it is dodging such an error condition.
- Fixed an obscure bug that caused a failure in the following
situation:
- A call exists with one or more contacts.
- A contact calls and has a Skype ID which is wholely contained
within the Skype ID of one of the members of the active call.
- The calling contact has a j flag assigned.
In such a case, Clisk would bring up a Select dialog asking the user to
pick which call to add. This would cause all subsequent
j-based auto-joins to fail until the Select was closed by
the user.
Download: Revision 2.4.0 Zip
Revision 2.3.2
This release contains several enhancements over 2.3.0.
At this writing, the online Users Guide is not updated to reflect the
changes in this release.
Changes in the WhoIs
command:
WhoIs doug
returns information for the contact whose
ID or name contains "Doug."
WhoIs !doug
will return information for a contact
whose Skype ID is exactly "doug."
WhoIs !!doug
will do the same as WhoIs
!doug
but without first running a behind-the-scenes user
search. This is probably useless, because it tends to return little
to no interesting field values unless your Skype already knows about
the contact.
WhoIs /doug
performs a user search for any contact
matching "doug."
Other features since 2.3.0:
- There is a
CallVoicemail
command for leaving a
voicemail for someone without actually making a call.
- There is a
vmGreeting
command that, given the ID of a
contact, will play that contact's voicemail greeting without making a
call or leaving a voicemail message.
- It is now possible to enter a multiline chat message by typing
msg
and the ID of the person to send it to, then pressing
Enter without entering any text to send. Clisk will then
prompt for text. Enter as many lines as necessary, then end the
message by entering a dot (.) on a line by itself.
A multiline message can be canceled before sending with a
Ctrl+C.
- The
prompt
command without arguments will now reset
the prompt to its default, rather than just showing the current prompt.
This is more like cmd.exe and command.com, allows the prompt to be reset,
and avoids the redundancy of showing the prompt explicitly right before
it naturally appears on the very next line.
Fixes since 2.3.0:
- Phone numbers are hidden in long ?stat responses.
- The
calls
command and the response to a
?stat message could be broken on MacOS with Skype 5.0,
returning a "command timeout" instead of the wanted response. This
has been worked around (it is actually a Skype or Skype API problem).
- The
calls
and members
commands and the
?stat response results are now correct in conferences
hosted by someone else after people have joined and left. Previously,
information returned by these commands could be inaccurate in a
dynamic, non-locally-hosted conference.
- The
calls
command shows the correct call count even
when one or more of the calls is a non-locally-hosted conference
containing multiple participants.
- More Unicode-related issues are fixed.
- The
unblock
command works on blocked telephone numbers.
- Quote marks typed in an
msg
command, and in several
other commands, are now preserved rather than being lost.
- Typing Ctrl+C at a Clisk prompt will just cause Clisk
to say, "Type 'exit' to exit," instead of causing a crash with traceback.
- Typing
alias
by itself when no aliases have bben
created will no longer cause an error. The same goes for the
AA
command when there are no autoActions defined.
- Clisk should more often exit when requested without stalling or
producing error messages in the process.
Download: Revision 2.3.2 Zip
Revision 2.3.0
This release contains several enhancements over 2.2.0.
The online Users Guide is also up to date with this release.
New features since 2.2.0:
- User notification alerts in the Skype window, such as for status
changes, now show the user's display name rather than just the Skype ID.
- Tabular output, such as for the calls command, now includes
a count of data lines on the header line.
- There is a new blocks command for listing blocked users.
- There is a new AutoAction flag, w, for making Clisk
report all status and profile field changes for a user.
When the user changes a profile field, mood text, or online status, a
line indicating this will show up in the Clisk window.
Use the
AA command to manage this flag just as for other autoAction
flags. This flag is not reported to other users via a
?stat request, however, because this autoAction does not
actually change the behavior of Skype if the user calls you.
- There is a new r AutoAction flag for "reverse
call": If you assign "r" to a user and that user calls you, your
Skype will wait a few seconds and then call that user back. This is
intended for situations where a friend is calling your Skype from a
telephone but does not wish to incur charges. The user would dial
your SkypeIn number, let it ring once or twice, then hang up and wait
for the callback.
The r flag combines meaningfully with j and
numeric autoAnswer priority codes as well. For example, setting both
r and 1 on a user will cause the call return to
occur even if this requires a current call to be put on hold first.
Assigning both r and j to a user will cause the
callback to join the user to any current call, similar to what a plain
j would do to an incoming call.
This is an experimental feature and is subject to
removal if it causes problems.
- There is a new "prompt" command for changing the Clisk prompt.
- Skype4Py.zip is now named clisk_util.zip and contains more than
just the Skype4Py libraries. Clisk upgraders
may safely delete Skype4Py.zip after upgrading.
- Python programmers that want to create personal Clisk commands that
are more complex than aliases allow can now do so by creating files of
the form clisk_*.py in the same folder as clisk.py itself (or actually
anywhere on the program path). They will be loaded along with
clisk.py and can even override functions in it. To create a command
called blah, the following approach is recommended:
- Create a file called clisk_blah.py in the folder with clisk.py.
- Include in it a function like this, including the documentation
block shown, which will be displayed to the user if the user types
"help blah" or "?blah":
def do_blah(*args):
"""
Perform the blah function.
(Write as much help here as you like.)
"""
# ... code goes here, and args is the array of arguments.
# If the user types "blah foo bar blurfl", args will be ["foo", "bar", "blurfl"].
- The clisk_blah.py file may contain whatever other functions,
classes, etc. are required.
Warning: This support is experimental and subject to
change. In particular, it should be safe to assume that functions
named do_*() will continue to work as they do now, but at some point
all other functions, classes, etc., will probably be moved into their
own namespace, as with most Python modules.
Bug fixes since 2.2.0:
- Some causes of Skype4Py errors on Mac Skype have been eliminated.
- Clisk may work better on Linux and should work better on MacOS in
locally-hosted conferences.
- Typing upper-case letters in an AddUser command's user
ID no longer causes Skype4Py error messages.
- Those Clisk users who send SMS messages will no longer see
numerous errors when trying to type partial user names in many
commands.
Download: Revision 2.3.0 Zip
Revision 2.2.0
This release contains numerous enhancements over 2.1.1.
The online Users Guide is also up to date with this release.
WARNING: There are some changes in existing commands
in Clisk in this release. Please take time to read at least the first
section below before downloading this update, so you are not confused
later.
Major Interface Changes
The voicemail commands have changed to make them group properly into a
set:
- The command to play a voicemail is vmPlay (changed from
pvm).
- The command to play a voicemail into the current call is
vmToCall (changed from pvmc).
- The command to stop a voicemail is vmStop (changed from
svm).
- The command to delete the last-played voicemail is
vmDelete (changed from dvm).
- There is a new vmCount command for getting the total
number of voicemails available.
As usual, you can type just the unique part of those commands; for
example,
vmp for
vmPlay.
Anyone wishing to keep the old interface may of course do so by
defining aliases as follows:
alias pvm vmPlay
alias pvmc vmToCall
alias svm vmStop
alias dvm vmDelete
The AA (AutoAction) command rules have changed slightly as follows:
AA bob a
will add the
a flag for Bob but will not remove other flags
Bob may have as before. In other words, this command is now exactly
equivalent to
AA bob +a
If you really want to give Bob the
a flag and also clear
all other flags Bob may have, use
AA bob =a
A user is no longer allowed to have an a and a j
flag at the same time. Setting one will clear the other. Priority
autoAnswer flags, discussed below, work similarly; a user may only
have one autoAnswer flag at any one time.
Commands that manipulate existing calls, such as hangup,
hold, and resume,
formerly required you to type a Skype ID or partial Skype ID if you
wanted to "name" which call to manipulate. Now, Clisk searches the
Skype ID and the display names of the participants in all active
(including held and ringing) calls for a match to what you type. This
means, for example, that
hangup bob
will search for not just a call with someone whose Skype ID starts
with "bob" but also any call with someone whose Skype ID or name
contains "bob." If multiple calls match, you will be asked to choose
which call you meant.
Other Changes
- A recent Python and ActivePython update to 2.6.9 broke the
q command by causing it to hang. This is now fixed.
- Clisk now lets you know when a voicemail has been sent to you. A
"buffering" line also prints when you start playing a voicemail that
has to be downloaded before it can be played.
- User IDs no longer print for contacts on first reference after
Clisk loads just because of the Clisk reload. They still print when a
user's name changes though.
- The contacts command for
listing contacts by status no longer includes Skype IDs at all, so the
list will be shorter and easier to read.
- The rec, mic, and snd commands
accept a numeric port number in addition to a file name, so for
example,
rec 2345
will send incoming sound to TCP port 2345 instead of to the soundcard
or a wave file. The data sent to the port will be in the same format
as wave files generated by this command except that there will be no
wav header. Note that for this to work, there must already be a
listener running on that port before you issue a rec or
mic command to send sound data to it.
Otherwise the command will just quietly fail.
To date, the Clisk author has not managed to establish a connection
from an external sound source application to a port via
snd.
- Several attempts have been made to reduce or eliminate the number
of error messages produced during chatting.
- nc count reports the number of
conversations with unread content, and nc list lists them
by name. Beware though that "unread
content" can include calls and other non-text-chat material, so a
result like "1 missed chat messages in 5 conversations" is possible.
nc also allows you to add a chat name, prefixed with an at
sign (@) as usual, to a command:
nc clear @eileen
will mark as read all unread messages in the chat whose name
includes "Eileen."
- Running WhoIs on someone whose birthday is February 29
will no longer cause an error message when the current year is not a
leapyear.
- There is a new FSend command for opening a Send File
dialog to a specific user or set of users. You can also use this
command to select the starting folder for the dialog before it opens:
fsend bob,doug,jim c:\waves\sfx
will open a Send File dialog in the c:\waves\sfx folder and let you
select a file to send simultaneously to Bob, Doug, and Jim.
- Missed-call partlists generated by Skype 4.x on Windows should
no longer show up in the Clisk window. They were slipping through
because they show up as message edits, not mere message posts.
- If a call is held and another is ringing (in or out) and you
type Hangup, Clisk will hang up the ringing call as you'd expect,
not the held call as was happening.
- There is a new WatchEvent command for watching Skype
API events in real time.
Type help watchEvent to get a list of the events that can be watched.
Warning: This system is not
at all polished and will often print raw Skype4Py objects, which will
look rather cryptic to those who don't program in Python.
- The os (Online Status) command includes more
information than before.
- The AddUser command is now better at allowing addition of
SkypeOut numbers and allows auth request messages for Skype users and display
names of SkypeOut numbers to be included on the command line after the ID
or number being added:
addUser !+12015551212 New Jersey Information
addUser echo123 Hello, you don't know me, but I know you.
will add a phone number with a display name, and will add echo123 and
send the indicated text as an introductory message.
- There are new AutoAction flags for assigning autoAnswer priorities
to specific people, and a flag for preventing autoJoin from
interrupting calls with specific people. These are advanced Clisk
features and are not described further here but are thoroughly
documented in the
Advanced AutoAction Flags
section of the Clisk Users Guide.
Clisk users interested in these features are urged to read carefully
and understand that section of the Users Guide before attempting to
set up priorities and exclusions.
Download: Revision 2.2.0 Zip
Revision 2.1.1
This release is a minor but somewhat important improvement over 2.1.0:
It fixes one rather annoying bug and provides better alias support.
It is recommended for all Clisk users.
The online Users Guide is also up to date with this release.
The bug fix: All calls in a calls list would indicate in
Clisk 2.1.0 that you transferred them from somewhere. This is fixed
in 2.1.1.
The improved alias support: Aliases can now include
instructions on how to arrange the parameters given by the user on the
command line, so you can, for example, write an alias like
alias topic msg %1 /topic %2-
as a quick way to set a chat topic. See the
"Creating and Managing Command Aliases" section of the Users Guide
for details on how this works.
Download: Revision 2.1.1 Zip
Revision 2.1.0
This release contains quite a number of enhancements over 2.0.0 and is
recommended for all users of this utility.
The online Users Guide is also up to date with this release.
New Commands and Subcommands Since 2.0.0
- events shows the count of various types of missed events and also
indicates which commands can be used to handle them.
- auth picks an auth request, shows a WhoIs, and allows the request
to be deleted or skipped or the contact to be added. auth
followed by a number handles that authorization request instead of the
first one.
- auth list lists authorization requests, and auth
count shows a count of them.
- members lists the members of the active call or
conference, and specifying a call by name after this command will list
the members of that call.
- members @chatname will show the members of the chat
whose name contains "chatname."
- contacts shows lists of online, away, not available,
Skype Me, and do not disturb contacts.
contacts followed by away, offline,
dnd, etc., will list only contacts with the indicated
online status.
You can abbreviate statuses as well; for example, auth a
for "away" contacts.
- nc shows the oldest unread message and marks it as read.
nc followed by a number shows and marks as read that many
messages at once. nc 0 or nc all shows and
marks as read all unread messages at once.
("nc" stands for "new chat message.")
- nc count shows the count of missed messages.
- nc clear shows the count and marks them all as read
without showing the message text.
- msg @chatname sends a message to the chat whose name
contains "chatname."
- cache or cache build rebuilds the internal
Clisk contact name cache, and cache clear empties it. This
provides a way to decide, before typing a command, whether Clisk
should show the Skype ID for each contact in the command's results.
Other Enhancements and Fixes Since 2.0.0
- The Clisk distribution now includes small command files for
running Clisk under Cygwin on Windows, on MacOS, and on Linux or
similar variants.
- Commands that froze on a Mac if executed in the presence of a
non-locally hosted conference now work in that environment.
- join commands should work properly when joining a
call to a conference that already contains multiple calls.
Previously, attempting to join a call in this situation would hold
the conference and simply answer the new call. This fix makes the
AutoJoin functionality (see the j AutoAction flag in the
Users Guide) work much more effectively.
- Chat messages are formatted much more palatably in the Clisk window.
- User selection lists are also formatted more readably and
include names, not just Skype IDs and/or SkypeOut phone numbers.
- WhoIs includes information on the user's time zone.
- profile is a built-in synonym for whoIs.
- ?stat responses are one line long and include actual
call statuses instead of just "active" and "inactive."
- A new l AutoAction flag allows ?stat responses
to include a call list instead of just call counts.
- User searches now include the following additional sources of
user names:
- Users awaiting authorization.
- Missed calls.
- Missed chats.
- Missed SMS messages (though Skype currently can't receive these).
- Active and recent chats when available.
- Aliases is removed. Use alias with no
arguments instead.
- Adding a user that requested an add no longer produces a NameError message.
- Clisk is somewhat more resilient at handling Skype API disconnections.
It still won't properly handle a change in Skype login account without
a restart however.
- ?stat requests are no longer answered locally when the '*' wildcard
user has an s flag.
- help msg works instead of giving an IndexError message.
- When names are shown in contact lists, chats, etc., any strings of
spaces/tabs in them are replaced with a single space, so contacts
who hide their names with a lot of spaces still show up sensibly.
- The XML-like partlist blocks produced on call termination on
Windows Skype 4.x no longer print.
- The XML-like adenda that Macs can
tack onto mood text are removed before the mood text appears in
the Clisk window.
- Commands like msg echo123 /help actually work in the
Clisk window.
Download: Revision 2.1.0 Zip
Revision 2.0.0
This release contains quite a number of enhancements and is
recommended for all users of this utility.
As of this writing, Clisk 2.0.0 is ahead of the
Clisk User's Guide
and contains features and behavior not yet documented there. These
items are documented here for now. Besides reading what appears
below, the best way to find new features is to type "help"
or just a question mark (?) in Clisk itself, read the
command list, then type "help" or "?" and a
command of interest to learn what it can do.
Note that this version is the first version officially called Clisk
rather than Skctl.
Enhancements and Fixes since 1.2.6
The biggest enhancement in 2.0.0 is probably the new handling of Skype
user selection in commands. In older versions, Skype user
IDs were just accepted and used without question, which could cause
embarrassing accidents on a typo. Starting in 2.0.0, several commands
incorporate a system that finds the user you want without making you
know or type the full Skype ID for the user. Details follow the list
of enhancements.
Other new commands and features since 1.2.6:
- The program is now called Clisk instead of Skctl. On first run,
skctl.log and skctl.ini will be renamed to clisk.log and clisk.ini if
found, so the upgrade will be seamless.
- The command-line prompt is "Clisk>" instead of "Skype>."
- calls and many commands for working with them now work
on Mac Skype without freezing Clisk when there is an active conference
that is not locally hosted.
- Calls lists conference participants for
non-locally-hosted conferences under the line for the conference.
Each participant is shown indented under the conference with an index
number, the participant's name, and the participant's call status.
- os gets a user's current online status.
- Whois brings up a Skype user's profile in text form.
Preceeding a user ID with an exclamation mark (!) initiates
a Skype user search and lets you run whois on any of its
results. You may type more than one word to search by, such as first
and last name. Do not use quotes.
- aa includes the user ID with its response instead of
just printing flags, which helps when the user ID is not actually
typed verbatim on the command line.
- pvm -1 plays the most recently played voicemail, pvm
-2 the next latest, etc.
- pvm 0 will repeat the last-played voicemail and can
restart the currently playing one.
- svm will stop playback of the currently playing voicemail.
- dvm will delete the last-played voicemail.
- www opens the Clisk home page in the default browser.
This command works on Windows and MacOS.
The URL opened includes version information about the Skype, Skype4Py,
Clisk, and OS versions running on the system so the Clisk author
can keep track of what configurations to support.
Other pages can be opened instead of the home page by including a key
word after "www" on the line. Examples include the Clisk online
manual (users guide), the Skype home page, and various Skype and
Python pages. Type "help www" in Clisk for details.
- There are now commands to block, unblock, add, and delete users
from the contact list.
- !mydir, for Python users, is a version of
dir()
that is more concise: Only spaces separate entries
in the list of attributes, and attributes whose names begin with an
underscore (_) are omitted.
Other enhancements since 1.2.6:
- In many cases, IDAndName output is reversed so names appear always
and IDs only when necessary. The first 20 characters of fullName print.
This limitation prevents very long user names from causing confusing
output. The effect of using names instead of IDs is to make Clisk
name contacts the same way Skype itself names them.
- Partial command entry works more consistently: You can now type
as little of any command as you like as long as the result is enough
to identify exactly the command you want.
If you type an ambiguous abbreviation, you can select from a list which
command you meant.
- "Help" works on partial command words now, not just whole ones. Example: help tr.
- A question mark before a command word, with or without an intervening space, will get help for that command just like "help" will.
- The call management commands (answer, call, hangup, hold, join, reject, resume, and transfer) now have their own help texts.
- Transfer without a call user ID will transfer the active call if no calls are ringing.
- Calls now shows caller IDs first and call IDs last for easier reading. The output of pvm and pvmc is similarly reformatted.
- The j AutoAction flag will now answer calls even when another call is already on hold. The a flag still will not do this.
- The Aliases command now sorts the aliases alphabetically.
- The "CHAT ... IS_ACTIVE TRUE" messages that showed up frequently
during chats no longer print.
- A lot of SMS messages generated by opening a Windows Skype 4 conversation
window on a PSTN number are now ignored. Just enough comes through to
identify the PSTN number and the price for sending messages.
- Internally, more Skype commands are sent via the Skype4Py API
instead of going around it.
Bug fixes since 1.2.6:
- Phone numbers with embedded parens and dashes, missing "+1," etc., are
only fixed in the Call command, not in the text of all Skype
API commands. This prevents Clisk from making unwelcome translations
in Message commands, for example.
- More unicode strings are handled without errors.
- Output is better formatted: Indenting is more consistent, more of
the screen width is used, and long lines wrap without breaking words.
The New User Selection System
As of Clisk 2.0.0, many commands allow partial user IDs or names to be
typed in place of full Skype IDs. This eases user selection while
also protecting against typos and major accidents resulting from them.
The specific commands supporting this new system currently are
aa,
call, add, transfer,
message / msg,
lo, os, and whois.
Raw Skype API commands not listed here that require user IDs still
require exact user IDs to be typed.
For commands supporting the new user selection system, anything you
type for a user name will be handled thus:
- A dot (.) by itself, as before, becomes the ID of the
currently selected user in the Skype graphical interface.
- A user ID beginning with an exclamation mark (!) is a
literal Skype ID and is used as given.
This is how Skype IDs worked in older versions, but the
exclamation mark was not used in the older versions.
This is how you, for example, call a person not in your contact list.
Note that the exclamation mark behaves slightly differently for the
whois command, as already described.
- For anything else, Clisk searches for users whose Skype ID or full
name contains the string you typed. The set of users searched
consists of all of the following:
- Yourself (your user ID and full name), so you can, for example,
type whois and your own user ID or name to get your own
profile.
- All users and SkypeOut numbers in your contact list.
- All users in all active calls and conferences, including
conferences for which you are not the host.
- All participants in recent chats, so you can do things like
quickly obtain the profile of someone that sent you an unexpected text
message or contact detail request..
- If exactly one match is found, it is used.
- If there are no matches, you are given the option to use the
ID typed, skip this ID (in case you are, for instance, calling several
people and just want to leave this one out), or cancel the entire
command.
- If several users match, you will be shown a list in which each
entry is numbered starting at 1, and you can select a user by
number.
- To get the user profile of a user in a selection list without
making a choice yet, type the user's number followed by a question
mark.
- To redisplay the selection list, type a question mark by itself.
- To abort the command instead of picking a user, press
Enter without making a choice.
Some examples:
msg . Hello there!
Sends "Hello there!" to the user currently selected in the Skype
interface.
call !echo123
Call echo123 without a search for that ID, which means it works
whether echo123 is in your contact list or not.
call doug
Call the user whose ID or full name contains "doug." If no such user
is found, you will be asked whether to call the user with an actual
Skype ID of "doug" or just cancel the call. If more than one "doug"
is found, you will be shown a list and allowed to select the one to
call.
Known Issues In This Release
I receive occasional reports of the following problem:
If you call someone and get transferred to voicemail, the
Hangup command may not hang up the call. Worse, if the
voicemail starts recording, the Windows Skype Alt+PGDN
hotkey, if set up, may not properly close the voicemail either. This
appears to be a Skype API issue, though this is not a certainty yet.
I know of this issue only on Windows at this point. The workaround on
Windows is to use the Hangup hotkey for Skype itself to hang up before
the voicemail starts recording.
If there is a temporary disconnect between Skype and Clisk, incoming
chat messages may not read correctly after the connection is
reestablished. A typical indication that this is about to start
happening is the message "SkypeAPIError: Skype API error, check if
Skype wasn't closed" appearing in the Clisk window when you try to do
something. Incoming chat messages thereafter may just say "received"
without actually showing the message text. If you see the above error
message and want to avoid this issue, just close and restart Clisk
once. The precise cause of this issue is not yet determined.
Download: Revision 2.0.0 Zip
Revision 1.2.6
This release contains a number of enhancements and fixes and is
recommended for all Skctl users.
Changes since 1.2.5:
- The ini file for AutoActions and aliases, and the log file generated by "log on," were skype.ini and skype.log, but now they are skctl.ini and skctl.log. When you launch this Skctl version, the old files will be renamed, so the upgrade will be seamless.
- Skctl prints "Looking for Skype..." when starting so the last line makes sense if it then stalls waiting for Skype to be launched.
- The first Skype> prompt will now be delayed until the first attachment succeeds, so it appears at the bottom of the window on startup instead of getting buried by startup messages.
- If "aa <userName>" did not work before, it will now. In some situations it could produce an error message before.
- If you try to set an invalid AutoAction flag, such as "x," it will no longer be saved or shown as if valid.
- "aa <userName> -" removes all AutoAction flags for that user.
- A new "*" pseudo AutoAction user can be used to define default flags for everyone. AutoCall is excluded from this feature.
- On an "aa <userName>" command, default flags that apply to the user are shown after a plus sign (+).
- When you type aa by itself to list all users with their AutoAction flags, the list will now be sorted alphabetically. If there is a default ("*") entry, it will appear above the rest.
- A new errtrace command produces a brief traceback for the latest error, to help find the cause.
- If you use "sklog on" or "sklog off" to turn Skype debug logs on and off, a warning now prints advising you that you might need to restart Skype for the change to take effect. This feature still only works on MacOS though.
- On Windows, the console title will be Skctl instead of the Python interpreter's full path.
- Missing output spaces in a place or two, such as on printing of the Skype CurrentUserHandle on attach, are now restored.
- A few more causes of errors and funny output formats should be fixed.
See the
Skctl User's Guide
for more information on Skctl.
Download: Revision 1.2.6 Zip
Revision 1.2.5
This is the fourth public release of Skctl. This release contains
numerous improvements over 1.2.4.
For starters, there are significant improvements in the help system:
- The main help fits on one screen without scrolling off the top.
- The main help screen also includes the Skctl version number.
- The main help lists all commands available but without trying to
explain each one in detail.
To get details on a specific command, type help followed by
the command word of interest. This works for commands implemented by
Skctl itself but not for raw Skype API commands.
- For advanced users and testers,
help . (that's help with a dot after it)
provides top-level Skype4Py help,
and things like help .Calls can be used to get help on
other parts of Skype4Py.
Other improvements over 1.2.4:
- There is a log command for logging Skype activity:
log reports whether logging is enabled, and log
on and log off turn logging on and off.
The log is called skype.log. On Windows, the log goes into
the folder where Skype keeps the currently logged-in user's account
information; for example, C:\Documents and
Settings\<userName>\Application
Data\Skype\<accountID>.
On Mac and Linux, the log file goes in a similar account-specific
location.
- There is a similar sklog command for enabling,
disabling, or checking the status of Skype debug logging, which can be
used to generate logs for Skype bug reports.
This feature is currently only available on MacOS.
- User IDs in output include parenthesized display name on first reference
and after each display name (profile fullName field) change.
This should minimize confusion when users have nonintuitive Skype IDs
or when users frequently change their display names. (This author a
time or two found himself in a multiperson text chat in which everyone
was rapidly changing display names in order to speak as various Harry Potter
characters in a rather amusing virtual dialog.)
- New alias and aliases commands allow
creation and listing of command aliases. Type help alias
in the updated Skctl for details, or see the
Creating and Managing Command Aliases section
of the Users Guide.
- Clear and cls clear the screen.
- Msg is a built-in alias for message, so
things like "msg echo123 ..." work like in IRC.
- There is a new j AutoAction flag that lets specific
callers not only get autoAnswered but autoJoined into a current call
to create a conference.
Warning: This feature is intended for implementing
small Skype-based conference bridges. Misuse of this flag could have
a number of unpleasant social and/or legal consequences, for which the
Skctl author will not be held responsible.
See the
Skctl User's Guide
for more information on Skctl.
Download: Revision 1.2.5 Zip
Revision 1.2.4
This is the third public release of Skctl.
Improvements over 1.2.3:
- Join and Transfer commands have been added for creating
conferences and transferring calls.
- The Calls table has been streamlined so that
- Video Status has its own column,
- Call Ids include conference Ids where applicable,
- Calls transferred to you show who made the transfer,
- Calls transferred by the person you called show where the call was sent,
- Call and video statuses are shorter in some cases, and
- More rows fit properly on one 80-column line.
- There should be fewer spurious "Skype API timeout" messages.
See the
Skctl User's Guide
for more information on Skctl.
Download: Revision 1.2.4 Zip
Revision 1.2.3
This is the second public release of Skctl.
Improvements over 1.2.2:
- Very few runtime errors should cause tracebacks or crashes.
- User IDs on aa, call, message, and lo commands can be a dot (.)
to use the currently selected contact.
Warning: The selected contact is
used, not the focused one, at least in Windows. The "selected"
contact in Windows Skype 4.x is the one whose information is shown in
the Default view or the last one opened in Compact view. Use of a
command like lo . is recommended for verification of which
contact will be used if there is any doubt before doing something
committal like starting a call with call ..
- The output of the lo (last online time) command
includes the Skype ID of the contact being queried.
- Early copies of Skctl 1.2.2 included a broken resume
command. This has been fixed.
See the
Skctl User's Guide
for more information on Skctl.
Download: Revision 1.2.3 Zip
Revision 1.2.2
This is the first public release of Skctl. As such, the "release
notes" are the
Skctl User's Guide.
Download: Revision 1.2.2 Zip