Results tagged “Skype”

Quite a while ago I compiled a list of Skype chat commands from the ones available in the Skype help as well as from various sources all across the Internet. Later on I got curious and decided to inspect Skype a bit more in depth and I was able to retrieve another list of hidden or mysterious Skype commands from the application.

I have been asked a few times how I did that and I thought maybe it would also be interesting for some who didn't ask and compiled a short step-by-step guide how I extracted the list of commands from Skype which were (at that time) documented or known nowhere else. Maybe it's also interesting and applicable to inspect other applications but I'll concentrate on Skype in this posting. The process is pretty much the same for most other applications.

Tools

For the analysis of Skype there are only two tools needed:

  • Process Explorer - the #1 tool for working with all running processes on your Windows machine. Part of the excellent Sysinternals Suite written by Mark Russinovich. No installation required.
  • Notepad++ or any other texteditor of your choice which can handle really large textfiles and search efficiently in them.

Analysis Steps

For a short summary that's a rough overview how I inspected Skype: loaded up Skype normally, dumped it's memory image (or better: string extract) with Process Explorer and did a manual search for command-like strings in the dump. The detailled process is as follows:

  1. start up Skype normally
  2. start up Process Explorer, confirm first-time dialogs etc. until you see the process overview
    From Skype Memory Analysis
  3. locate "Skype.exe" in the process list and double click it
  4. switch to the "Strings" tab in the occouring process window (could take a few seconds)
  5. select the "Memory" option on the left bottom of the window (could take again a few seconds to complete)
    From Skype Memory Analysis
  6. save the strings dump to a textfile via the "Save" button on the right bottom of the window
  7. load the resulting textfile in the text editor (Notepad++ in my case)
  8. search for one of the already well known commands (e.g. "/help")
    From Skype Memory Analysis

Now you should be in a region of the file where several commands are visible. Looking for additional commands is merely a try&error of the strings around that location and observing possible effects. The same approach can be used for in-text replacements like smilies, flags or similar. From that on things get pretty inconvenient. Some of the commands or usable strings are clearly identifyable as such (like "/help") but not all of them are prepended with a "/". Examples for such are the flag-identifiers ( eg: (flag:uk) ) or the smilies. Looking for such strings in a file with more than 400k lines becomes pretty tedious after a while. But using some of the known strings as anchor points makes it a bit easier.

So, all in all that's how I approached the Skype app and found out about (up to that point) aparently unknown and undocumented commands, icons and shortcuts. Maybe I'll make a run again sometime and look if something as changed but for that there has to be a chunk of spare time available.

| | Comments (1)

For quite some time now the Skype-control pages I created in the past (Skype Rich Mood editor and Skype Contacts Overview) have been broken for recent versions of Internet Explorer and Skype. But because of my occupation for University until now I had no time to have a deeper look into that issue. Today I decided to change that and fix the functionality again.

Sadly I had to come to the conclusion, that access to Skype from within the web browser is permanently impossible and most probably won't change in the future. The main reason behind this is because Skype changed the application so that its Skype API does not communicate with Internet Explorer anymore.

Since the Skype4COM interface refuses to connect to the Internet Explorer only one possible workaround would be to write a custom application or ActiveX object which is able to communicate with Skype and load this one into the Internet Explorer instead. In fact, that's probably the way how kiwik.im works, as you have to install a desktop application to make the homepage be able to work with your Skype client.

Nevertheless I refrain from following that same path as I personally don't want people to have to install some black-box application from someone they don't know (and trust) and grant it access to probably very sensitive data. Furthermore it would be a waste of time as there are already applications available which provide that functionality and more in a more convenient way.

Maybe sometime in the future I will have another take at it and try to find a more convenient workaround (maybe something possible with another technique available in IE like Java, VB, ...) but for now my browser Skype projects are not in working state and just kept for historical reference.

Sorry folks.

|

Today I've been curious if there were any more hidden chat commands besides the currently well known IRC-like Skype chat commands. So I decided to inspect the executable once more (I did it already once with only little success) and surprisingly I almost instantly found something completely new to me.

A quick search on the internet also turned up nothing comparable and quick try&error also revieled not much information for most of them so the following table mainly consists of questionmarks. I tried to come up with a description where the commands reveiled a bit, but since I found absolutely no additional information for those all the meaning is just guesswork from me.

Of course I'll update this posting every time I find out something new or somebody gives me hints on this.

Update 2012-11-18 - Added infos on /fork from commenters, added bunch of new commands found in recent Skype 6 version

CommandDescription
/dbghelpOutputs a list of (debug?) commands but without description.
/showmembersLists all members of the chat with their currently assigned role.
/showstatusPrints some infos about the current conversation. Conversation convoi id, Consumption horizon, History date and Message count.
/showactivemembers?
/shownameDisplays the name of the original conversation. Required when querying the Skype database file.
/showchatforms?
/showpendingmessages?
/infoDisplays the current and maximum number of chat participants.
/fm?
/verifyShows some text about missing messages on my computer. Maybe checks the message-database for validity.
/showaccsel?
/showaccfocus?
/accselect?
/debug?
/debugmsg?
/golive [token](since Skype4?) Opens a management window in a group conversation which allows to handle conference calls. The sense of the (optional) token is not yet clear to me but seems to give you a link which you can share to others and allow them to join the conference.
/fork [skypename/s](since Skype5?) Duplicates the current group chat leaving out the contacts which are added to this command.
/fork [skypename/s](since Skype5?) Duplicates the current group chat leaving out the contacts which are added to this command.
/setupkey [key] [value]? Sets the "key" to a certain "value" or unsets it if no value given. Purpose currently unknown.
/setupkey! [key]? Deletes the "key". Purpose currently unknown.
/showplacesDisplays a list of the currently online Skype instances using this Skype name (and have Skype version >=6 or recent mobile versions).
/remotelogoutLogs out all other currently online Skype instances which are using this Skype name (and have Skype version >=6 or recent mobile versions).
/rsql? sends this into the chat but does NOT show help like any other random /-command...
/set listeners [value]? probably another list of skype-ids which are only listeners/spectators in this chat. Changes also the output of /showmembers, but real effect still untested.
/get listenersShows the list of listeners set with previous command.
/ignore?

Random/Unsorted additional findings

  • The name of a chat (/showname) is composed of the initial creator of the group-conversation (who gets the role CREATOR and is indicated with '#' in the chat-name) and a hash.
    • If the group-chat evolved from a chat with another person, this person is also part of the name (with the role ADMIN and the '$' sign as indicator in the chat-name).
  • Consumption horizon (/showstatus) seems to be the time when the last message was received from any chat-member.
  • Message count (/showstatus) is the number of messages displayed in the current window.
| | Comments (12)

In a boring moment recently I sat down and created another utility page for Skype on Windows which was wandering around my mind for some time already:

Skype Contacts Overview

I created this page because from time to time I wanted to have a quick overview of the Skype-IDs of my contacts (especially for fooling around with the Skype API ;) ). From within Skype I always had to open the contact details page for each contact and this became just too cumbersome over the time. And I can now also read the full mood-messages from all contacts even if they are too long to be displayed un-shortened in the Skype contact list.

Another intention was to make information conveniently available which is maybe not even accessible from within the Skype client, such as the time when a contact has been seen online the last time which could help someone when there is the need to clean up old contact entries in the list.

Again, the same restrictions as for my Skype Rich Mood Editor apply:

  • Page viewed in Internet Explorer
  • Skype Client with Extension Manager installed
  • Let IE access ActiveX on this page

Feedback on this page is always welcome :)

|

This page does not work with recent versions of Skype anymore. See explaination here. Sorry.

This page gives you an overview of your Skype contacts and displays extended information (even some which aren't accessible in Skype itself, like last-online time) conveniently in a table. There are many more fields present in Skype but I think these ones are the most useful for now. Maybe I come around to build up a configurable table-display sometime in the future.


Prerequisites for this page:
  • Page viewed in Internet Explorer
  • Skype Client with Extension Manager installed
  • Let IE access ActiveX on this page
Failed to load Skype4COM control. Check prerequisites!

Skype-client connection

On Win7 it may be necessary to disable the "Protected" mode for the Internet Zone in your IE security settings to successfully connect to Skype. Don't forget to reenable it again after leaving this site.

This product uses the Skype API but is not endorsed, certified or otherwise approved in any way by Skype.

Accept the connection request in the Skype-Client for this to work!
Attachment status:
Connection status:
User handle:
User status:

Feedback? If you experience any problems or would like to give any comments, please leave me a note in this posting.

Your contacts status:

|

As I already mentioned last time when I did some digging in its internal database, Skype allows users to have rich-formatted mood messages. It's just not possible to create rich formatted messages with the Skype client alone.

Well, always shutting down Skype to just change the mood message to something fancy is a bit annoying, so I sat down a few minutes and with a bit cheating by using this site I created a HTML site where you can directly edit your Skype mood message and update it instantly.

Edit the Skype Mood Message using Rich Formatting (with examples) (Internet Explorer and Skype Client with Extension Manager required)

A bit technical background for the curious ones: this webpage communicates with your Skype client using the Skype4Com API. Skype provides APIs for various technologies (eg. Skype4Py) which allow some sort of "remote-controlling" of the Skype client. Skype4Com is an ActiveX-interface so this means it just runs on Windows but can be used by any technology which is able to access ActiveX. The webpage loads the ActiveX API, connects to your Skype client and requests some status information as well as the current mood message. You can then edit the message and with the click of a button the webpage sends the updated mood message to the Skype client.

| | Comments (3)

This page does not work with recent versions of Skype anymore. See explaination here. Sorry.
If you have an older version of Skype you may still be lucky and use it.


Prerequisites for this page:
  • Page viewed in Internet Explorer
  • Skype Client with Extension Manager installed
  • Let IE access ActiveX on this page
  • Allow Skype to be accessed from IE
Failed to load Skype4COM control. Check prerequisites!

Skype-client connection

On Win7 it may be necessary to disable the "Protected" mode for the Internet Zone in your IE security settings to successfully connect to Skype. Don't forget to reenable it again after leaving this site.

This product uses the Skype API but is not endorsed, certified or otherwise approved in any way by Skype.

Accept the connection request in the Skype-Client for this to work!
Attachment status:
Connection status:
User handle:
User status:

Change your mood

(non-rich view)

Feedback? If you experience any problems with this Skype Rich Mood Editor or would like to give any comments, please leave me a note in this posting.

Examples


Use the Skype emoticons Smiley: <SS type="smile">:-)</SS> Use the Skype emoticons (with different display if the mood-message is minimized in the contact-list) Smiley: <SS type="smile">I'm smiling</SS> Show a flag I'm in <flag country="at">(flag:at)</flag> Show a flag (with different display if the mood-message is minimized in the contact-list) I'm in <flag country="at">Austria</flag> Different font color <FONT COLOR="#FF0010">Red text</FONT> Different font size <FONT SIZE=6>Tiny text</FONT> Blinking text <BLINK>Blinking text</BLINK> Bold text <B>Bold text</B> Italic text <I>Italics</I> Underlined text <U>Underlined</U> Multiline message First line<br/>Second line<br/>Third line Use hyperlinks This is a <a href="http://kosi2801.freepgs.com">Link to BPI inside</a>

Further info

The rich formatting statement <SS type="smile"></SS> also accepts following smileys smile, sad, laugh, cool, surprised, wink, cry, sweat, speechless, kiss, tongueout, blush, wonder, sleepy, snooze, dull, inlove, talk, yawn, puke, doh, angry, wasntme, party, worry, mmm, nerdy, lipssealed, hi, call, devil, angel, envy, wait, hug, makeup, giggle, clap, think, bow, rofl, whew, happy, smirk, nod, shake, punch, emo, no, yes, handshake, skype, heart, brokenheart, mail, flower, rain, sun, time, music, movie, phone, coffee, pizza, cash, muscle, beer, drink, dance, ninja, star, mooning, finger, bandit, smoke, toivo, rock, headbang, poolparty, swear, bug, fubar, tmi, heidy, myspace
The rich formatting statement <flag country="at"></flag> supports following flag countries. For a list of those shortcuts complete with the full country names have a look to this article on ajunkyard.wordpress.com. ad, ae, af, ag, ai, al, am, an, ao, aq, ar, as, at, au, aw, az, ba, bb, bd, be, bf, bg, bh, bi, bj, bm, bn, bo, br, bs, bt, bv, bw, by, bz, ca, cc, cd, cf, cg, ch, ci, ck, cl, cm, cn, co, cr, cs, cu, cv, cx, cy, cz, de, dj, dk, dm, do, dz, ec, ee, eg, eh, er, es, et, fi, fj, fk, fm, fo, fr, ga, gb, gd, ge, gf, gh, gi, gl, gm, gn, gp, gq, gr, gs, gt, gu, gw, gy, hk, hm, hn, hr, ht, hu, id, ie, il, in, io, iq, ir, is, it, jo, jp, ke, kg, kh, ki, km, kn, kp, kr, kw, ky, kz, la, lb, lc, li, lk, lr, ls, lt, lu, lv, ly, ma, mc, md, mg, mh, mk, ml, mm, mn, mo, mp, mq, mr, ms, mt, mu, mv, mw, mx, my, mz, na, nc, ne, nf, ng, ni, nl, no, np, nr, nu, nz, om, pa, pe, pf, pg, ph, pk, pl, pm, pn, pr, ps, pt, pw, py, qa, re, ro, ru, rw, sa, sb, sc, sd, se, sg, sh, si, sj, sk, sl, sm, sn, so, sr, st, sv, sy, sz, tc, td, tf, tg, th, tj, tk, tl, tm, tn, to, tr, tt, tv, tw, tz, ua, ug, um, us, uy, uz, va, vc, ve, vg, vi, vn, vu, wf, ws, ye, yt, za, zm, zw |

Beginning with version 4.0 Skype changed its internal database format to SQLite (at least the Windows-client, could not yet check other platforms). Besides from better performance it also allows now any curious person to dig a bit into the internals of the local Skype account.

At first, you need a SQLite client to connect to the database. SQLite Database Browser is a good choice for this purpose. Then you need to open the Skype database in it. Shut down Skype (you won't be able to open the file otherwise) and load the file main.db from your Documents and Settings\<User>\Application Data\Skype\<Skype-account> directory. You can browse around in the database structure, have a look into the tables contents and even use a SQL editor to query the database. That's what we're going to need.

Now the fun begins :) In the following statements replace the values in angle brackets eg. <skypeid> with the appropiate correct values. Let's assume, you want to display all messages you exchanged with someone. Beware, that this only works gets the messages you exchanged in a private chat with someone and does not work on chats with more than two participants (you included).

SELECT author, timestamp, body_xml 
FROM messages 
WHERE dialog_partner = '<skypename>'

Or you want to list all chats, where there have ever been more than you and your chat-partner. So to list all group-chats:

SELECT name, participants, posters, activemembers, last_change 
FROM chats
WHERE type = 4

You could also be interested in all previous topics which were set on your group chat:

SELECT chatname, timestamp, body_xml 
FROM messages
WHERE chatmsg_type = 5
AND chatname = <chatname> -- get names from the previous query

By now you should have recognized, that the timestamps and change-values are not really readable dates in the database. Don't worry, it's not encrypted. Its just stored as plain Unix timestamp values. You can easily convert it to a readable time and date using for example the online UNIX Timestamp To Standard Time Calculator

When we're already with timestamps, you maybe also want to know when someone has also been online the last time when you have been online as well:

SELECT skypename, given_displayname, lastonline_timestamp
FROM contacts

So far we have fetched some interesting information from the database. But now we want to leverage our l33tness a bit and modify our mood message in our profile to include some rich formatting:

UPDATE accounts
SET profile_timestamp = current_timestamp, rich_mood_text = 'I feel <b>bold</b> now.'
WHERE skypename = '<skypename>'

Don't forget to save your database afterwards! This statement updates the profile-timestamp with the current time and adds some rich formatting to our mood message. In this case there is some bold text inside. You can look up some more possibilities (like smileys, font coloring, etc.) directly in the Skype API Documentation (from). Additionally I've found out, that using hyperlinks with the <a>-tag works as well as modifying font-size with the size-attribute of the <font>-tag.

Update 2010-02-14: Meanwhile you can edit your mood-message more easily using my online Skype mood message editor.

You can also delete the chat-history of only certain skype-contacts using the following statement

DELETE FROM messages
WHERE skypename = '<skypename>'

Again, don't forget to save your changes afterwards.

Update 2010-10-29: Skype has dropped the support for "/htmlhistory" since Skype 4.0. An alternate way to get all the messages for a chat is:

SELECT timestamp, author, chatmsg_type, body_xml  
FROM messages 
WHERE chatname = '<chatname>' 
ORDER BY id ASC;

You can find out the name of a chat when you write the command "/showname" in its chat-window.

I'll continue to play around with the database and if I find more interesting stuff, I'll keep this posting updated. Or I'll write a new one depending on what I dig up :)

| | Comments (10)

It's not a widespread knowledge that Skype has not only hidden emoticons (see also Skypes own emoticon list)but also allows some special commands within an open Skype chat. Thanks to my darling for the hint. There are some lists available on the net but they aren't easy to locate and I found none which has a listing of all commands. Well, I don't know if I for myself have found all available commands, but none of the list contained all of those I know.

So here I'm compiling my own list of Skype commands with descriptions and if you're interested some of the lists I used for this are at the bottom of this entry. Most of the commands are for administering the running chat, some are only available when you are the chat creator and some more only if you issued "/goadmin" before. Also at some spots in the net it was said, that some commands are only applicable when the "IRC Style" view of chats is activated but I couldn't confirm that.

Furthermore a lot of the commands show only effect or make any sense at all (especially the user management related ones) if used in a public chat.

If you have knowledge of more of those commands or about the ones with a question mark please leave me a note in the comments.

Update 2009-04-25 - Filled most gaps, added descriptions and links to official Skype pages.
Update 2010-08-21 - Minor updates to the options concerning joining a chat.
Update 2010-10-30 - Discovered a load of additional mysterious chat commands. Left them in a separate post until more info available.
Update 2012-11-17 - Minor updates for Skype 6

Commands

CommandDescription
/me [action]Describes an action of the user by printing his name followed by the action.
/helpShows a list of available commands. It's incomplete but helps with general administrating tasks.
/add [skypename]Adds the user skypename to the chat.
/leaveLeave the current chat (only if not creator).
/topic [newTopic]Sets a new topic to the chat.
/find [text]Looks for text in the chat history.
/fa or /Repeats the last search.
/alertson or /alertson [text]"/alertson text" sets the skype notification to occour on special text in messages. "/alertson" resets it to the default. If an alert is set, every instance of the text will be highlighted in the chat window for easier detection of the alerting lines.
/alertsoffTurns off all notifications for this chat.
/historyLoads the complete chat history into the active chat window.
/htmlhistoryGenerates a HTML file of the chats history and opens it in the browser. Skype 4: not iplemented in this version anymore.
/clearClears the chat window.
/infoShows number and limit of chat participants.
/call [skypename]Opens a call to skypename.
/goadminEnters the administration mode of the chat (only if creator) and adds a small text "Creator" to the user-icon in the chat. I didn't find so far a way to leave this mode again. According to the Skype documentation the only effect is the "Creator" tag but I'm not so sure about that.
/get creatorShows the creator of this chat.
/get roleShows the current role of the user.
/whois [skypename]Shows some info of the user skypename, for example the current role.
/setrole [skypename] MASTER | HELPER | USER | LISTENERSets roles of chat members. See below for more info.
/kick [skypename]Removes skypename from the chat.
/kickban [skypename]Removes skypename from the chat and bans him.
/get guidelinesShows the guidelines of this public chat.
/set guidelines [text]Sets the guidelines of this public chat.
/get optionsShows the current active options for this chat.
/set options [[+|-]flag]Sets options for this chat, see below for more info.
/get [creator|masters|helpers|users|listeners]Shows a list of users in the particular role.
/setpassword [password] [hint]Sets a password for this public chat, no spaces allowed, and also a password hint in the same command.
/clearpasswordRemoves the password for this public chat.
/set pasword_hint [text]Sets a password hint for this public chat.
/get password_hintShows the password hint for this public chat.
/set password [text]Sets a password for this public chat, no spaces allowed.
/set banlist [[+|-]mask]Bans members from this public chat.
/get banlistShows all users which are banned to this public chat.
/set allowlist[[+|-]mask]Allows members to this public chat.
/get allowlistShows all users which are allowed to this public chat.
/get uriSkype 4: Gets the URI link for this public chat which can then be sent to contacts or embedded in webpages.
/eggy? Has been rumoured as easter-egg but seems to have no effect at all (at least not in recent versions of Skype).
/undoeditSkype 6: Reverts the last edit of a message.

Chat roles and privileges

Straight from the Skype API Documentation.

RoleDescription
CREATORMember who created the chat. There can be only one creator per chat. Only creator can promote other members to masters.
MASTERAlso known as chat hosts. Masters cannot promote other people to masters.
HELPERA semi-privileged member. Helpers will not be affected by the USERS_ARE_LISTENERS option. Helpers cannot promote or demote other members.
USERRegular members who can post messages into the chat.
LISTENERA demoted member who can only receive messages but not post anything into the chat.
APPLICANTA member waiting for acceptance into the chat. Member cannot be demoted to applicants once they have been accepted.

Chat options

These options are also from the Skype API, I had no chance to test these so far.

OptionDescription
JOINING_ENABLEDWhen this bit is off, new users cannot join the chat. This option has to be enabled before the options JOINERS_BECOME_APPLICANTS and JOINERS_BECOME_LISTENERS can be set. Also, this cannot be disabled while one of the JOINERS_BECOME_xxx options is still set.
JOINERS_BECOME_APPLICANTSWhen this bit is on, new users will be able to join the chat but they will be unable to post or receive messages until authorized by one of the chat administrators (CREATOR or MASTER).
JOINERS_BECOME_LISTENERSWhen this bit is on, new users will be able to receive message in chat but unable to post until promoted to USER role. Basically a read-only flag for new users.
HISTORY_DISCLOSEDWhen this bit is off, newly joined members can see chat history prior to their joining. Maximum amount of history backlog available is either 400 messages or 2 weeks of time, depending on which limit is reached first.
USERS_ARE_LISTENERSRead-only flag for chat members with USER role.
TOPIC_AND_PIC_LOCKED_FOR_USERSWhen this bit of options is off, USER level chat members can change chat topic and the topic picture.
USERS_ARE_WRITERS? This appeared to me after setting and removing the USERS_ARE_LISTENERS in a chat, but I didn't recognize some changed behavior to the standard.

Other Skype trivia

  • If you press different key combinations of 3 letters at once on your keyboard (fast!) you can make some other hidden status-icons appear next to your Skype-image (and in recent versions also in the chat-window itself) in a chat. For example "jkl" or "uio" produce an animated icon where a pencil is broken, "cat" or "dog" make a nice cat appear. Just try around, until now I've just found those two icons.

External Links & Sources

http://handytechtips.blogspot.com/2008/04/skype-chat-taking-control-of-group-chat.html
http://vafer.org/blog/20080504113126
http://support.skype.com/en_US/faq/FA883/I-am-an-advanced-user-who-would-like-to-use-IRC-style-commands-to-moderate-my-chat-How-do-I-do-this
http://developer.skype.com/accessories
http://support.skype.com/en_GB/faq/FA10042/What-are-chat-commands-and-roles
http://forum.skype.com/index.php?showtopic=311671 How To Make Links To Skype Chats On Web Pages And Email

| | Comments (79)

1

Archives