alias download { if ($sock(updater_socket)) { did -a updater_xirc 9 Updater already running, please wait. return } did -a updater_xirc 9 Updating X-IRC to version %latestversion sockopen updater_socket ownagescape.co.uk 80 } on *:sockopen:updater_socket:{ if ($sockerr) { did -a updater_xirc 9 Error: $sockerr when downloading return } write -c $qt($+($scriptdir,xfire.mrc)) unset %downloadlength %downloadready sockwrite -n $sockname GET /xirc/xfire.mrc HTTP/1.0 sockwrite -n $sockname Accept: */* sockwrite -n $sockname Host: ownagescape.co.uk sockwrite -n $sockname } on *:sockread:updater_socket:{ if (%downloadready != 1) { var %header sockread %header while ($sockbr) { if (Content-length: * iswm %header) { %downloadlength = $gettok(%header,2,32) did -a updater_xirc 9 File Size: %downloadlength bytes } elseif (* !iswm %header) { %downloadready = 1 %downloadoffset = $sock($sockname).rcvd break } sockread %header } } sockread 4096 &d while ($sockbr) { did -a updater_xirc 9 $round( $calc(100 * ($sock($sockname).rcvd - %downloadoffset) / %downloadlength) ,1) $+ % bwrite $qt($+($scriptdir,xfire.mrc)) -1 -1 &d sockread 4096 &d } } on *:sockclose:updater_socket:{ did -a updater_xirc 9 Update Complete! did -a updater_xirc 9 Please Restart X-IRC. write -c $qt($+($scriptdir,version.txt)) write $qt($+($scriptdir,version.txt)) %latestversion /reload -rs $qt($+($scriptdir,xfire.mrc)) }