MSN Chat Information

This page serves as an archive of MSN Chat Information on eXonyte's Realm. Permission has been granted to use and preserve this information by it's author Brandon Amedee (aka eXonyte)

MSN Chat Information
Hopefully some of you can find some use for all of this. Those of you using IRC Dominator, Viper, or any of the other bots, may or may not find this page of much use. Also, some of the info is really only useful to scripters or people writing clients that work with MSN. Basically, if you can use this info, good. If not, you might still find it an interesting read, if you're into this kind of stuff.


 * Download Vincula for mIRC:
 * Download Vincula Neo (4.9) (Latest version)
 * Script, DLLs, OCX only, zipfile
 * Download Vincula Neo (4.8): zipfile, self-extracting, Full + self-extracting, NoOCX
 * Download Vincula Neo (4.7.1): zipfile, self-extracting, Full + self-extracting, NoOCX
 * Download Vincula Neo (4.7): zipfile, self-extracting, Full + self-extracting, NoOCX
 * Download Vincula Neo (4.6): zipfile, self-extracting, Full + self-extracting, NoOCX
 * Download Vincula Neo (4.5): zipfile, self-extracting, Full + self-extracting, NoOCX
 * Download Vincula Neo (4.4): zipfile, self-extracting, Full + self-extracting
 * Download Vincula Neo (4.3): zipfile, self-extracting, Full + self-extracting
 * Download Vincula Neo (4.2): zipfile, self-extracting, Full + self-extracting
 * Download Vincula Neo (4.1): zipfile, self-extracting, Full + self-extracting
 * Download Vincula Neo (4.0) (Script+DLLs only)
 * Download Vincula 3.6
 * Download Vincula 3.5
 * Download Vincula 3.4b
 * Download Vincula 3.4

Do stuff on MSN Chat:
 * Join a room on MSN (open in new window)
 * Change your MSN Chat options
 * Unicode Characters for MSN Chat
 * Raw numerics for MSN Chat


 * Current Version: MSN Chat Control 4.5 (MSNCHAT45.OCX - Version 9.02.0310.2401)
 * Current CLSID: F58E1CEF-A068-4c15-BA5E-587CAF3EE8C6
 * Official Download URL: http://fdl.msn.com/public/chat/msnchat45.cab

Download MSN Chat controls:
 * MSN Chat Control 4.5 - Version 8.00.0210.2201
 * MSN Chat Control 4.2 - Version 7.00.0206.0401
 * MSN Chat Control 4.1 - Version 2.03.0204.3001
 * MSN Chat Control 4.0 - Version 2.03.0204.0801
 * MSN Chat Control 3.0 - Version 1.1.7.058

MSN Chat commands
The MSN Chat Control has some /commands available to it, similar to the ones that mIRC and other chat clients have. It doesn't have nearly as many, but some of the ones it does have can be useful.


 * /away - Toggles "Away" status. Same as clicking the Coffee Cup button.
 * /clear - Clears the main chat screen.
 * /credits - Opens the MSN Group for the MSN Chat Team in a new browser window.
 * /invite [nickname] - Invites a person to the room you're in, same as using Find a Friend and then clicking Invite.
 * /me [action] - Does an action. Same as typing an action and clicking the ! button or pressing Ctrl+A.
 * /part - Leaves the room, without disconnecting from the MSN server.
 * /quit - Leaves the room and disconnects from the MSN Chat server, and will send you back to the Chat Home page.
 * /topic [topic] - If you are a host or an owner, you can change the room's topic with this command.
 * /version - Displays the version of the MSN Chat Control that you are currently using.

The ACCESS command
Every room on MSN has its own Access List. This list is used to manage who can and cannot enter the room, as well as those who are automatically unspecced upon entry, and those who are automatically made hosts and owners. It can be modified at any time by a Host, Owner, or an MSN employee.

The Access List includes five types of entries: DENY, GRANT, VOICE, HOST, and OWNER. To modify the access list in mIRC, you have to use the /access command. If you are using Vincula 3.5 or newer, typing /access will open a access list dialog to let you easily edit the list. Of course, not everyone uses Vincula. For those of you that don't, you will likely have to use the normal /access command.
 * DENY - Specifies users that are not allowed into the room (a.k.a. Banned users).
 * GRANT - These are people that are specifically allowed into the room, even through a previously placed ban.
 * VOICE - Anyone that matches a Voice type access will automatically become a participant in the room when they enter.
 * HOST - People matching this type of entry are automatically made hosts (brown hammer.)
 * OWNER - Anyone matching this type are automatically made owners (gold hammer.)

To make good use of the access list, you need to understand Hostmasks:

Everyone on MSN has a unique identifier attached to them. I'm not sure what the official name would be, but myself and many other people call it the person's Gatekeeper ID, or just gate for short. This ID number looks something like this (no, this is not my real Gatekeeper ID):

eXonyte!69805504EE6CFAEA@GateKeeperPassport This sad excuse for identification is what MSN gives our clients instead of an IP address or a hostname. Thank you MSN... Either way, when adding an entry to the access list, you need to use the person's gate in one of a few ways. You can either use the entire thing, which is fine for most cases, such as adding hosts and owners, or you can use the wildcards * and ? to make it a bit more useful, especially for DENY entries. The basic idea is that * means "anything", and ? means "any single character".

To add me as an owner in your room, no matter what name I use:

/access %#roomname add owner *!69805504EE6CFAEA@* Or perhaps you think Vincula sucks and don't anyone with my name in your room for the next 15 minutes:

/access %#roomname add deny *eXonyte*!*@* 15 Maybe there's some lamer using a bot to flood your room, and the bot always uses the same Guest_ name, but with a two digit number added on:

/access %#roomname add deny >FloodBot??!*@* In general, the format of the /access command is:

/access [room] [cmd] [type] [host] [time] :[reason] The commands you can perform on the list are ADD, DELETE, LIST, and CLEAR. They are all self explanatory, so I'll leave it at that.

The MODE command
Modes are used to control all sorts of different settings, either on yourself, on the chatroom, or on other people in the chatroom. If a mode gets set as +mode then that means the mode is active. If it is -mode, then the mode is no longer active.

To change a mode in mIRC, you can type this for modes which don't require extra information, such as modes b and i: /mode %#roomname mode For a mode that needs more information, like modes l and k /mode %#roomname mode ExtraInfo To change a user mode such as o or q (notice this is the same as l and k above): /mode %#roomname mode TargetName To change a self mode: /mode YourName mode In all of these commands, instead of "mode" you need to type either +mode or -mode, to turn the mode on or off. For example, to set a room to mode i (invite only), I would type this: /mode %#roomname +i Or to make Doodles a host, I would type this: /mode %#roomname +o Doodles

Channel Modes

 * b - "Ban" - Can be used to get a list of ban (ACCESS DENY) entries.
 * d - "Cloneable" - When the room fills up, a new room will be created with the same name, plus a number between 1 and 99. Cannot be set by normal users.
 * e - "Clone" - This room is a clone of a room that is set to mode +d. Cannot be set by normal users.
 * f - "Filter" - MSN's built-in profanity filter is being used. Can only be set during room creation.
 * g - "Special Guest" - Puts the MSN Chat control in to special guest chat mode. Used in OnStage. Cannot be set by normal users.
 * h - "Hidden" - Room is not shown on any sort of room listings. Same as +s, can't be used with +p or +s.
 * i - "Invite" - Room is set as invite only.
 * k - "Key" - Room has an entry password set. Same as PROP MEMBERKEY.
 * l - "Limit" - Room has a user limit set. Anything above 100 users must be set during room creation and may not actually be enforced.
 * m - "Moderated" - Users in the room can be "specced", or set mode -v, and they cannot speak.
 * n - "No External Messages" - Only people that are actually in the room, can speak in the room. If -n, you can talk in the room without actually being there.
 * p - "Private" - Room is not shown on the room listings, and you can only find out the amount of people in the room and the name. Cannot be used with +h or +s.
 * r - "Registered" - Official MSN room, shows as having a butterfly on the room list. Cannot be set by normal users.
 * s - "Secret" - Room is not shown on any sort of room listings. Same as +h, cannot be used with +h or +p.
 * S - "Subscriber" - Only subscribers to MSN Chat are allowed to speak in the room. Cannot be set by normal users.
 * t - "Only Hosts Set Topic" - Only a host, owner, or MSN official can change the room topic. If -t, any user can change the topic.
 * u - "Knock" - When someone can't get into the room for whatever reason, all hosts recieve a message stating so, though the MSN Chat Control does not display the message.
 * w - "No Whispers" - Normal users cannot whisper non-hosts. Note that this is a lowercase w.
 * W - "No Guest Whispers" - Guests cannot whisper non-hosts. Note that this is an UPPERCASE W.
 * x - "Auditorium Mode" - Normal users cannot see each other in the room and can only see hosts, while hosts can see everyone. Cannot be set by normal users.

User Modes

 * v - "Voice" - User can speak in a moderated (+m) room. The user is labeled a Participant.
 * o - "Host" - User is a host in the room (brown hammer).
 * q - "Owner" - User is an owner in the room (gold hammer).
 * p - "Profile" - Only used with MSN Chat 3.0, indicates the user has a profile.

Self Modes

 * h - "Host" - Used to host/owner yourself in a room (MODE YourName +h Password)
 * i - "Invisible" - Your info cannot be seen unless a user is in the same room as you are
 * x - "IsIRCX" - Your connection is using IRCX mode. MSN Chat only allows IRCX connections. In mIRC, type //mode $me to make it appear.

The PROP command, for rooms
The room properties are where certain bits of information about a room are stored. Things such as passwords, and even the language and category information are stored as PROP entries.

A room property can be read by typing: /prop %#roomname property A property can be set by typing: /prop %#roomname property value For values with spaces in them, such as for the topic, onjoin, and onpart properties: /prop %#roomname property :value To get a list of some of the properties in a room, you can type: /prop %#roomname * The available properties are:
 * CLIENT - Unknown
 * CREATION - Read only. The date and time that the room was created, stored as number of seconds since 12:00:00 AM January 1 1970 (use $asctime in mIRC to get the actual date).
 * HOSTKEY - Write only. The password used to make one's self a host in the room.
 * LAG - A number of seconds between 0 and 2 that causes a fake lag between two messages from the same person.
 * LANGUAGE - A number between 1 and 99 indicating the main language spoken in the room (see list below).
 * MEMBERKEY - Write only. The password used to get into the room (same as MODE +k).
 * NAME - The room's name (same as the actual room name).
 * OID - Read only. Unsupported on MSN (always 0, just like the IRCX protocol says).
 * ONJOIN - A message that is automatically sent to everyone that joins the room.
 * ONPART - A message that is automatically sent to everyone that leaves the room (fairly useless as far as the MSN Chat Control).
 * OWNERKEY - Write only. The password used to make one's self an owner in the room.
 * PICS - Stores the PICS rating for the room. For more info on PICS, see http://www.w3.org/PICS/.
 * SUBJECT - Read only. Stores information for the Room List generator, for example "1:-ST!EN-US!UL" which means 1:-ST (unknown what this means, but something related to MSN official chatrooms), EN-US location (English, United States), in the UL (Unlisted) Category.
 * TOPIC - The room's topic (same as /topic %#roomname).

The languages supported for the LANGUAGE property are as follows:
 * English
 * French
 * German
 * Japanese
 * Swedish
 * Dutch
 * Korean
 * Chinese (Simplified)
 * Portuguese
 * Finnish
 * Danish
 * Russian
 * Italian
 * Norwegian
 * Chinese (Traditional)
 * Spanish
 * Czech
 * Greek
 * Hungarian
 * Polish
 * Slovene
 * Turkish
 * Slovak
 * Portuguese (Brazilian)

The categories that a room may be listed as are:
 * UL - Unlisted
 * GE - City Chats
 * PT - Chat Partners
 * CP - Computing
 * EA - Entertainment
 * EV - Events
 * GN - General
 * HE - Health
 * II - Interests
 * LF - Lifestyles
 * MU - Music
 * NW - News
 * PR - Peers
 * RL - Religion
 * RM - Romance
 * SP - Sports & Recreation
 * TN - Teens

The PROP command, for users
There are also a few PROPs that are for users. They can be set or checked the same as a room property, except by substituting the user's nickname in place of the %#roomname in the /prop command.

The user properties are:
 * MSNPROFILE - Indicates which type of profile the user has (see the list below).
 * NICK - Read only. Stores the nickname of the user, and is the same as their actual nickname.
 * PUID - Read only. Stores the profile ID for the user. This ID can be added to the URL "http://chat.msn.com/profile.msnw?epuid=" to view the profile in a web browser window.=

Profile Icon codes
With MSN Chat 4.2 came these ugly grey profile icons. After a few days they activated, and now they indicate whether the user has a profile, is a guy or a girl, and has a picture. This is handled by a special code in the raw JOIN messages and the raw 353 (/names reply). You can find this code in a JOIN by using $gettok($3,3,44) in mIRC. To find it in a /names reply you need to apply the same $gettok($N,3,44), where $N is no less than $6 and is one of the names in the specific message. You can also get or set the icon by using the MSNPROFILE Property. I won't go into more detail than that though, this page wasn't meant to teach MSN IRCX raws.

The profile icon codes are: (Code) - (MSNPROFILE) - (Description)
 * FY - 13 - Female, has picture in profile.
 * MY - 11 - Male, has picture in profile.
 * PY - 9 - Gender not specified, has picture in profile.
 * FX - 5 - Female, no picture in profile.
 * MX - 3 - Male, no picture in profile.
 * PX - 1 - Gender not specified, and no picture, but has a profile.
 * RX - 0 - No profile at all.
 * G - 0 - Guest user (Guests can't have profiles).

Font Formatting codes
MSN Chat allows you to use any font that you have installed, and one of 16 different colors for your messages to the room, and people in the room.

The format of a normal message on MSN Chat, in mIRC terms, is like this: [1]S [color][style]Font;[script] Message[1] The [1]'s are both $chr(1), which means that this is actually a /ctcp message. The S just signifies that this is a message that contains Font/Style/Color information.

The color codes are usually a single character that indicates the color to be used. Because ASCII characters 10 and 13 are Linefeed and Carriage Return, and are used in the IRC protocol already, they are represented by \n and \r in this chart.

The MSN color codes are as follows:
 * $chr(1) - White
 * $chr(2) - Black
 * $chr(3) - Dark Red
 * $chr(4) - Dark Green
 * $chr(5) - Dark Blue
 * $chr(6) - Dark Yellow
 * $chr(7) - Purple
 * $chr(8) - Teal
 * $chr(9) - Light Gray
 * \n - Dark Gray
 * $chr(11) - Red
 * $chr(12) - Green
 * \r - Blue
 * $chr(14) - Yellow
 * $chr(15) - Pink
 * $chr(16) - Cyan

The style code is a single "bit map" character that tells MSN Chat to display the font either normal, bold, italic, underlined, or any combination of the three.

The style codes are: Or, for a little bit more efficient way of doing it, you can set it up so that you start with the number 1, and then: Then stick the final number in $chr and you'll end up with the proper code. The font name is simply the name of the font, except with spaces replaced by \b which can easily be done by $replace(Font name,$chr(32),\b) in mIRC.
 * $chr(1) - Normal
 * $chr(2) - Bold
 * $chr(3) - Italic
 * $chr(4) - Bold + Italic
 * $chr(5) - Underlined
 * $chr(6) - Bold + Underlined
 * $chr(7) - Italic + Underlined
 * $chr(8) - Bold + Italic + Underlined
 * For Bold, add 1
 * For Italic, add 2
 * For Underline, add 4

The [script] after the ; is the Script number. It has to do with the language that you're typing in, and how peoples' computers will handle the text. For example, if you want to use the font Wingdings and have it actually display the codes, you will need to use Script number 2, otherwise other people's computers will just show normal typing instead of Wingding symbols.

The Script numbers that I know of are:
 * 0 - Western
 * 2 - Symbol
 * 77 - Mac
 * 128 - Japanese
 * 129 - Hangul
 * 134 - CHINESE_GB312
 * 136 - CHINESE_BIG5
 * 161 - Greek
 * 162 - Turkish
 * 163 - Vietnamese
 * 177 - Hebrew
 * 178 - Arabic
 * 186 - Baltic
 * 204 - Cyrillic
 * 222 - Thai
 * 238 - Central European

Feature Param codes
Just like with the font style code, this is a bit-mapped value, which means you can get the correct number as follows: The resulting number will be what you need to use for the Feature param. Numbers compliments of Ziggy.
 * 0 - Normal
 * 1 - Whisper Window disabled
 * 2 - Hides Guest_
 * 3 - Hides Guest_, Whisper window disabled
 * 4 - View Profile disabled
 * 5 - View Profile disabled, Whisper Window disabled
 * 6 - Hides Guest_, View Profile disabled
 * 7 - Hides Guest_, View Profile disabled, Whisper Window disabled
 * 8 - Hides room name
 * 9 - Whisper Window disabled, hides room name
 * 10 - Hides Guest_, hides room name
 * 11 - Hides Guest_, Whisper Window disabled, hides room name
 * 12 - View Profile disabled, hides room name
 * 13 - View Profile disabled, Whisper Window disabled, hides room name
 * 14 - Hides Guest_, View Profile disabled, hides room name
 * 15 - Hides Guest_, View Profile disabled, Whisper Window disabled, hides room name
 * Start with 0
 * To disable the Whisper Window, add 1
 * To hide the Guest_ on nicknames, add 2
 * To disable the View Profiles option, add 4
 * To hide the Room Name, add 8

ChatMode Param codes
Numbers compliments of Ziggy.
 * 0 - Normal.
 * 1 - Create and join a room, prompting user to join if the room already exists.
 * 2 - If room does not exist, create it without joining afterwards.
 * 3 - Smiley Face (does not connect, used for installing the OCX).

The GateKeeper Auth Process
This text is a work in progress. It will be revised as needed. [ See https://wiki.msnld.com/wiki/GateKeeper ] MSN Chat uses an authentication method in order to keep out normal IRC clients. This auth method is known as GateKeeper for guest connections, and GateKeeperPassport when connecting using a passport.