;.oO{ plusFM v0.1 *beta* by HM2K }Oo. - IRC@HM2K.ORG ;description: Returns your most recently played track via plusfm ;installation: /load -rs plusfm.mrc ;usage: first use /plusfm then simply /plusfm or /amp ;plusFM v0.1: Innitial concept - based on last.fm script (thanks to argv[0] for a little help) ;settings... ;customise this line for your output alias -l plusfm.output return now playing $plusfm.artist - $plusfm.name $+(<,$plusfm.server,>) ;you don't need to change these settings alias -l plusfm.url return http://www.plusfm.net/titre_plusfm.php alias -l plusfm.server return $gettok($plusfm.url,2,47) alias -l plusfm.path return / $+ $gettok($plusfm.url,3-,47) alias -l plusfm.artist return %plusfm.artist alias -l plusfm.name return %plusfm.name ;rest of code... menu #,?,* { plusFM:plusfm } ;open the socket alias plusfm { set %plusfm.a $active .sockclose plusfm .sockopen plusfm $plusfm.server 80 } ;send commands to the web server on *:sockopen:plusfm:{ if (!$sockerr) { .sockwrite -nt $sockname GET $plusfm.path HTTP/1.1 .sockwrite -nt $sockname Host: $plusfm.server .sockwrite -nt $sockname Connection: close .sockwrite -nt $sockname $crlf } } ;parse returned data on *:sockread:plusfm:{ if $sockerr { halt } var %read = $true while (%read) { sockread -f %line plusfm.sockread %line %read = $sockbr } } alias -l plusfm.sockread { tokenize 32 $1- if (!$1) { sockmark $sockname 1 } elseif ($sock($sockname).mark) { tokenize 45 $1- %plusfm.artist = $1 %plusfm.name = $2 plusfm.out sockclose $sockname } } alias -l plusfm.out { $plusfm.relay(%plusfm.a) $plusfm.output unset %plusfm.* } alias -l plusfm.relay { ;output relay v0.04 by HM2K (Updated 23/06/09) ;default action var %out echo $color(info2) -ga * $me ;chan action var %chanact describe ;user action var %useract describe if ($modespl) { if ($1) { if (($ifmatch != Status Window) && ($ifmatch != -)) { if ($left($1,1) != $chr(35)) { var %out %chanact $1 } elseif ($chan($1)) { var %out %chanact $1 } } } elseif (($nick) && ($nick != $me)) { var %out %useract $nick } } if ($isid) { return %out } %out $1- } #plusfm.sockdebug off alias -l sockdebug { ;v0.03 by HM2K (updated: 16/09/08) var %win @plusfm.debug if (!$window(%win)) { window -e %win } if ($1-) { aline -p %win $timestamp $1- } } alias -l sockopen { sockopen $1- sockdebug -> sockopen $1- } alias -l sockwrite { sockwrite $1- sockdebug > sockwrite $1- } alias -l sockread { sockread $($1-,1) sockdebug < sockread $sockname $($1-,2) } alias -l sockclose { sockclose $1- sockdebug <- sockclose $1- } #plusfm.sockdebug end