; WhatPulse Information Script for mIRC 6.X ; Written by Scott Wilcox ; Thanks go to Splodgey, wasted. ; ; http://sc0tt.ca http://unlagged.org ; ; Recoded by RooZ ; ; irc.irchighway.net #tmnt-files ; ; CONFIGURING: ; There isn't much to configure, other then setting your ; user ID. To get this click on the WhatPulse tray icon, ; (the W), and go to Account -> Your Account Info, and ; copy the user ID (the NUMBER!), and simply type /wp update ; and enter your ID, and it's all set! ; You can also set what colours you want and design a layout below ; but only do it if you know how to script in mIRC ;) ; ; PLEASE NOTE: ; For this script to work, you need to enable your ; stats to be generated on the WhatPulse server. To ; do this, login to the WhatPulse site, go to your ; options and check "Generate XML statistics (WebAPI)" ; these stats update every hour, so they won't be ; fully up-to-date with you last Pulse. ; ; USAGE: ; /wp update - Updates your stats for use on IRC (do this regually!) ; /wp long - Shows a detailed version of your stats in 3 lines ; /wp short - Shows a summarised version of your stats in 1 line ; /wp team - Shows your team stats in 2 lines ; /wp changeid - Change your WhatPulse user ID ; ; You can also add a number on the end of "/wp long" ; and "/wp team" to limit the amount of lines outputted. ; eg. "/wp long 2" would only say 2 lines, not all 3 ; Colours (TWO digits! eg. 04, or 14): alias c { if ($1 = 1) { return 04 } if ($1 = 2) { return 14 } } ; Layouts: alias bracket { return $c(1) $+ [ $+ $c(2) $+ $1 $+ $iif((($1 !== $null) && ($2- !== $null)),$chr(32)) $+ $2- $+ $c(1) $+ ] } alias border { return $c(1) $+ « $+ $c(2) $+ $1 $+ $c(1) $+ » } on *:start: { %old = %wp_userid unset %wp_* %wp_userid = %old unset %old wp update } on *:sockopen:wp_socket: { if ($sockerr) { echo -a $bracket(***) Error $sockerr when downloading return } unset %downloadlength %downloadready sockwrite -n $sockname GET /api/user.php?UserID= $+ %wp_userid HTTP/1.0 sockwrite -n $sockname Accept: */* sockwrite -n $sockname Host: whatpulse.org sockwrite -n $sockname User-Agent: http://sc0tt.ca v1.0 sockwrite -n $sockname } on *:sockread:wp_socket:{ if (%wp_downloadready != 1) { var %wp_header sockread %wp_header while ($sockbr) { if (Content-length: * iswm %wp_header) { %wp_downloadlength = $gettok(%wp_header,2,32) } elseif (* !iswm %wp_header) { %wp_downloadready = 1 %wp_downloadoffset = $sock($sockname).rcvd break } sockread %wp_header } } sockread %wp_c while ($sockbr) { set $+(% $+ wp_,$gettok($gettok(%wp_c,2,60),1,62)) $gettok($gettok(%wp_c,2,62),1,60) sockread 4096 %wp_c } set %wp_lastupdated $ctime } on *:sockclose:wp_socket:{ ; Socket has been closed, the stats were updated. echo -a $bracket(***) WhatPulse stats finished updating ( $+ %wp_downloadlength bytes downloaded). } alias wp { ; The list below shows the variables that are set when you ; update the script. They are set globally, and you can use ; them in any way that you want to. ; For this example, I just used a /say ; ; %wp_UserID 199872 ; %wp_downloadlength 921 ; %wp_downloadready 1 ; %wp_downloadoffset 225 ; %wp_GeneratedTime 2007-03-14 04:01:03 ; %wp_AccountName Amatively ; %wp_Country Australia ; %wp_DateJoined 2006-11-23 ; %wp_Homepage http://www.myspace.com/roozbenjrox ; %wp_LastPulse 2007-03-14 00:20:15 ; %wp_Pulses 268 ; %wp_TotalKeyCount 2665339 ; %wp_TotalMouseClicks 1749908 ; %wp_TotalMiles 83.658 ; %wp_AvKeysPerPulse 9945 ; %wp_AvClicksPerPulse 6530 ; %wp_AvKPS 0.28 ; %wp_AvCPS 0 ; %wp_Rank 21721 ; %wp_TeamID 3226 ; %wp_TeamName Cunts United ; %wp_TeamMembers 19 ; %wp_TeamKeys 49069315 ; %wp_TeamClicks 22807322 ; %wp_TeamMiles 105.578 ; %wp_TeamDescription N/A ; %wp_TeamDateFormed N/A ; %wp_TeamRank N/A ; %wp_RankInTeam N/A ; %wp_lastupdated 1173841722 ; Most of your stats in 3 lines (/wp long) if ($1 == long) { say $bracket(WhatPulse.org user %wp_AccountName) I have pressed a total of $border($bytes(%wp_TotalKeyCount,b)) keys, clicked $border($bytes(%wp_TotalMouseClicks,b)) times and have moved my mouse $border(%wp_TotalMiles) miles since $border(%wp_DateJoined) my global rank is $border(%wp_Rank) if ($2 != 1) { say $c(1) $+ Pulses: $border(%wp_Pulses) Last Pulse: $border(%wp_LastPulse) Stats Last Updated: $border($time(%wp_lastupdated, dd/mm/yy @ hh:nn:sstt)) if ($2 != 2) { say $c(1) $+ Average Keys Per Second: $border(%wp_AvKPS) Average Clicks Per Second: $border(%wp_AvCPS) } } } ; Shorted summary of your stats in 1 line (/wp short) if ($1 == short) { say $bracket(WhatPulse.org user %wp_AccountName) Keys Pressed: $border($bytes(%wp_TotalKeyCount,b)) Mouse Clicks: $border($bytes(%wp_TotalMouseClicks,b)) Miles Moved: $border(%wp_TotalMiles) Since: $border(%wp_DateJoined) Rank: $border(%wp_Rank) } ; Your teams stats in 2 lines (/wp team) if ($1 == team) { ; NOTE: The latest XML file is incomplete, and gives "broken" values for: ; TeamDescription, TeamDateFormed, TeamRank, and RankInTeam ; ; This sets them to "N/A". You can delete these 4 lines if they are fixed ; To wasted: Fix them please! if (%wp_TeamDescription == /TeamDescription) { set %wp_TeamDescription n/a } if (%wp_TeamDateFormed == /TeamDateFormed) { set %wp_TeamDateFormed n/a } if (%wp_TeamRank == /TeamRank) { set %wp_TeamRank n/a } if (%wp_RankInTeam == /RankInTeam) { set %wp_RankInTeam n/a } say $bracket(WhatPulse.org team %wp_TeamName) My team has $border(%wp_TeamMembers) members and has pressed a total of $border($bytes(%wp_TeamKeys,b)) keys, clicked $border($bytes(%wp_TeamClicks,b)) times and moved their mouse $border(%wp_TeamMiles) miles since $border(%wp_TeamDateFormed) if ($2 != 1) { say $c(1) $+ My teams overall ranking is: $border(%wp_TeamRank) and my rank in the team is: $border(%wp_RankInTeam $+ / $+ %wp_TeamMembers) } } ; Updates your stats, do this regually! (/wp update) if ($1 == update) { if (%wp_userid !isnum) { set %wp_userid $$?="Enter Your WhatPulse User ID (this is a number! eg. 199872):" if (%wp_userid !isnum) { echo -a $bracket(***) WhatPulse User ID is not a number! Please re-run /wp update and enter your user ID } else { echo -a $bracket(***) WhatPulse User ID Set! } } if (%wp_userid isnum) { ; Check to see if socket is already in use. if ($sock(wp_socket)) { ; Return error message if so echo -a $bracket(***) WhatPulse is already updating stats, please wait. return } ; Socket not in use, echo out updating message echo -a $bracket(***) WhatPulse updating stats ; If the WhatPulse server ever changes, this will ; need to be updated too. sockopen wp_socket whatpulse.org 80 } } if ($1 == changeid) { unset %wp_userid if (%wp_userid !isnum) { set %wp_userid $$?="Enter Your WhatPulse User ID (this is a number! eg. 199872):" if (%wp_userid !isnum) { echo -a $bracket(***) WhatPulse User ID is not a number! Please re-run /wp changeid and enter your user ID } else { echo -a $bracket(***) WhatPulse User ID Set! } } if (%wp_userid isnum) { ; Check to see if socket is already in use. if ($sock(wp_socket)) { ; Return error message if so echo -a $bracket(***) WhatPulse is already updating stats, please wait. return } ; Socket not in use, echo out updating message echo -a $bracket(***) WhatPulse updating stats ; If the WhatPulse server ever changes, this will ; need to be updated too. sockopen wp_socket whatpulse.org 80 } } } ; Simple menus menu channel,nicklist,nicklist { WhatPulse Stats .Update: wp update .Change User ID: wp changeid .Show in # $+ ..Short: wp short ..Long: wp long ..Team: wp team }