How To Manually Get User Role
( for MSN Group Chat )
In this tutorial we will attempt to show you how to obtain your MSN Group User Role information. This is a must have if you wish to connect to your group chat with a script/bot.

Now to get the code you need to move your cursor to where the big red X is. Right click there and from the menu that pops up choose View Source. This will open up a notepad with a bunch of html coding.

Once the notepad has opened you need to find what we have highlighted. The user role will be the 4th string. After the group names. In the example we used the TechGear007net group room and the user role will be found after 'G_techgear007net','techgear007net' the next number/letter code is what you are looking for. Copy everything between the two ' '. Once again you have to remember you have to get the user role for the group you want to put your script/bot in. The user role expires about every 12 hours so you will need to make sure you update it. Now that you have the info what do you do with it? Well if you are using vincula as most users are then please edit the following. ( Only if your script is not set up to accept userrole

Here is a quick overview on how to input this value into vincula. Open up your vincula.mrc file and find the following:
if (AUTH == $1) {
if (AUTH GateKeeper*S :OK iswm $1-) {
if ($msn.ini(usepass)) var %pass $msn.roompass($msn.get($sockname,room))
;Add UserRole to this line
if ((%msnpp.cookie) && (!$msn.get($sockname,nick))) sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf PROP $ MSNREGCOOKIE : $+ %msnpp.cookie $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf JOIN $msn.get($sockname,fullroom) %pass
;elseif ((%msnpp.cookie) && ($msn.get($sockname,nick))) sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf NICK $msn.get($sockname,nick) $lf PROP $ MSNREGCOOKIE : $+ %msnpp.cookie $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf JOIN $msn.get($sockname,fullroom) %pass
else sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf USER * * " $+ $ip $+ " :Vincula Neo ( $+ $msn.vver $+ ) $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf JOIN $msn.get($sockname,fullroom) %pass
}
elseif (AUTH GateKeeper*@GateKeeper* 0 iswm $1-) {
if (AUTH GateKeeper*@GateKeeper 0 iswm $1-) {
if ($msn.ini(usepass)) var %pass $msn.roompass($msn.get($sockname,room))
if (($msn.get($sockname,nick)) && (!$msn.get($sockname,guest)) && (%msnpp.cookie)) sockwrite -tn $sockname NICK $msn.get($sockname,nick) $lf JOIN $msn.get($sockname,fullroom) %pass
elseif ($msn.get($sockname,guest)) sockwrite -tn $sockname NICK > $+ $msn.get($sockname,nick) $lf JOIN $msn.get($sockname,fullroom) %pass
}
%msnt.gate = $4
}
else sockwrite -tn msn.client.rm $1-
}
Note: this code is from vincula 4.9. Vincula 4.8 differs slighting but you should be able to replace it just the same. Just make sure you get the brackets exactly as I have them.
if (AUTH == $1) {
if (AUTH GateKeeper*S :OK iswm $1-) {
if ($msn.ini(usepass)) var %pass $msn.roompass($msn.get($sockname,room))
if (g_ isin $msn.recent(1,1)) {
if ((%msnpp.cookie) && (!$msn.get($sockname,nick))) sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf PROP $ MSNREGCOOKIE : $+ %msnpp.cookie $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf PROP $ ROLE %msnpp.UserRole $lf JOIN $msn.get($sockname,fullroom) %pass
elseif ((%msnpp.cookie) && ($msn.get($sockname,nick))) sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf NICK $msn.get($sockname,nick) $lf PROP $ MSNREGCOOKIE : $+ %msnpp.cookie $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf PROP $ ROLE %msnpp.UserRole $lf JOIN $msn.get($sockname,fullroom) %pass
else sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf USER * * " $+ $ip $+ " :Vincula Neo ( $+ $msn.vver $+ ) $lf NICK $msn.get($sockname,nick) $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf PROP $ ROLE %msnpp.UserRole $lf JOIN $msn.get($sockname,fullroom) %pass
}
else {
if ((%msnpp.cookie) && (!$msn.get($sockname,nick))) sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf PROP $ MSNREGCOOKIE : $+ %msnpp.cookie $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf PROP $ SUBSCRIBERINFO : $+ %msnpp.SubscriberInfo $lf JOIN $msn.get($sockname,fullroom) %pass
elseif ((%msnpp.cookie) && ($msn.get($sockname,nick))) sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf NICK $msn.get($sockname,nick) $lf PROP $ MSNREGCOOKIE : $+ %msnpp.cookie $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf PROP $ SUBSCRIBERINFO : $+ %msnpp.SubscriberInfo $lf JOIN $msn.get($sockname,fullroom) %pass
else sockwrite -tn $sockname AUTH GateKeeperPassport S : $+ $msn.authkey $lf USER * * " $+ $ip $+ " :Vincula Neo ( $+ $msn.vver $+ ) $lf NICK $msn.get($sockname,nick) $lf PROP $ MSNPROFILE : $+ %msnpp.showprof $lf PROP $ SUBSCRIBERINFO : $+ %msnpp.SubscriberInfo $lf JOIN $msn.get($sockname,fullroom) %pass
}
}
elseif (AUTH GateKeeper*@GateKeeper* 0 iswm $1-) {
if (AUTH GateKeeper*@GateKeeper 0 iswm $1-) {
if ($msn.ini(usepass)) var %pass $msn.roompass($msn.get($sockname,room))
if (($msn.get($sockname,nick)) && (!$msn.get($sockname,guest)) && (%msnpp.cookie)) sockwrite -tn $sockname NICK $msn.get($sockname,nick) $lf JOIN $msn.get($sockname,fullroom) %pass
elseif ($msn.get($sockname,guest)) sockwrite -tn $sockname NICK > $+ $msn.get($sockname,nick) $lf PROP $ ROLE %msnpp.UserRole $lf JOIN $msn.get($sockname,fullroom) %pass
}
%msnt.gate = $4
}
else sockwrite -tn msn.client.rm $1-
}
This includes the fix for subscriberinfo too but pay no attention to it as it will be explained in another tutorial.
You may or may not notice that you have a couple of new variables to set. In this tutorial we will deal with only %msnpp.UserRole as it is what we are after. The easiest way would be to make a popup to insert the code. Go into your script editor to popups. Choose whatever section you prefer. Input the following code. Subscriber Info: set %msnpp.UserRole $$?="Enter User Role". That's all you need. Once you have copied and pasted the code from the note pad to this popup and hit ok you should be able to join your room as normal.