alias lastfm { if ($1 == -s) { echo -ag Username set to $2 | hadd -m lastfm user $2 | return } if (!$hget(lastfm,user)) { echo -ag No Username set. Try /lastfm -s <Username> | return } if ($1 == -t) { set -u5 %lastfm.url /toptracks.txt } else { set -u5 %lastfm.url /recenttracks.txt } sockopen $+(lastfm.,$r(0,42)) ws.audioscrobbler.com 80 } on *:sockopen:lastfm.*:{ if ($sockerr) || (!$sock($sockname)) return sockwrite -n $sockname GET /1.0/user/ $+ $hget(lastfm,user) $+ %lastfm.url HTTP/1.1 sockwrite -n $sockname Host: ws.audioscrobbler.com sockwrite -n $sockname $crlf } on *:sockread:lastfm.*:{ var %lastfm.read | sockread %lastfm.read | tokenize 32 %lastfm.read if (!$1) return ; For debugging purposes: ;echo -s $1- if ($chr(44) isin $1-) && (%lastfm.go) { var %time = $gettok($1-,1,44) var %track = $gettok($1-,2,44) .signal -n lastfm %time %track } if (*ont*yp* iswm $1-) { set -u3 %lastfm.go 1 ;### You might want to edit here ### echo -sg Listing %lastfm.url } } on *:signal:lastfm:{ ;sick utf8 ****: var %track = $replace($2-,–,-) ;### ...and especially here ### if (%lastfm.url == /recenttracks.txt) { var %time = $asctime($1) | /msg #CHANNEL NAME HERE Nokia N800 Canola2 Now Playing: 1 %track | sockclose lastfm.* } else { echo -s %time > %track } }