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:
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.
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.
The full source code is available on GitHub. The app itself can be downloaded here. The app has its own website, too!