Forging Skype quotes
A overview of how Skype quote elements are structured, and a program that allows them to be forged.

One of my favorite features of Skype is the way in which it handles text snippets that are copied and pasted within the program. If I copy something that someone has said in a Skype chat, pasting it back into Skype will format it as a nice little 'quote' element (see picture below) that is seemingly authentic and immutable.

An example Skype quote:

An example of a Skype quote

The Skype quote clipboard data

Of course, nothing is really immutable, especially when it lives on the clipboard. After a quick poke around, we can see that the Skype clipboard format is something like so:

Format Description
Text Plain-text message.
UnicodeText Plain-text message.
OEMText Plain-text message.
System.String Plain-text message.
SkypeMessageFragment MemoryStream containing UTF8 Skype message fragment (see below).
Locale MemoryStream containing a cultural identifier (LCID).

SkypeMessageFragment:

Looking at the contents of the clipboard, SkypeMessageFragment seems to be what we want; it's an XML string that describes the Skype quote. In the barest possible form, it looks something like <quote author="AuthorName" timestamp="Timestamp">MessageText</quote>, where AuthorName is the Skype user name of the message author, MessageText is the message text itself, and Timestamp is the number of seconds since the Unix epoch.

SkypeQuoteCreator

To forge our own Skype quote, all we have to do is insert the above data onto the clipboard, and then paste to Skype as usual. A while ago, I built a simple Windows app called SkypeQuoteCreator that does exactly that. It's built up quite a following now, with users from Brazil to Estonia to Pakistan.

A screenshot of the SkypeQuoteCreator app

The full source code is available on GitHub. The app itself can be downloaded here. The app has its own website, too!


Posted by Matthew King on 4 February 2014
Permission is granted to use all code snippets under CC BY-SA 3.0 (just like StackOverflow), or the MIT license - your choice!
If you enjoyed this post, and you want to show your appreciation, you can buy me a beverage on Ko-fi or Stripe