n *:SOCKOPEN:udc: { if ($sockerr) { if (!$window(@errors)) { .window @errors } echo -t @errors SockOpen Error when checking for updates: $sock(udc).wsmsg return } .sockwrite -n udc GET /update.txt HTTP/1.1 .sockwrite -n udc Host: thefreebot.com $+ $crlf $+ $crlf } on *:SOCKREAD:udc: { if ($sockerr) { if (!$window(@errors)) { .window @errrors } echo -t @errors SockRead Error when checking for updates: $sock(udc).wsmsg return } .sockread %udc if ($+(*.*,$chr(124),*) !iswm %udc) { halt } if (($readini(Settings.ini,versions,$gettok(%udc,1,124)) < $gettok(%udc,2,124)) || (!$readini(Settings.ini,versions,$gettok(%udc,1,124)))) { .sockclose udc | .updatefile %udc } } on *:SOCKCLOSE:udc: { echo -ts [FreeBot Updater] Updates Compelted, all files up to date! } alias updatefile { .tokenize 124 $1- .set %udf $1 .set %udv $2 .set %udn $3 .set %uds $4 .set %udi $5 .set %udl $6 if ($script($1) || $alias($1)) { if ($readini(Settings.ini,update,inform) && $server) { $($readini(Settings.ini,update,it),2) [FreeBot Updater] Updating $3 from $+([,$readini(Settings.ini,versions,$1),]) to $+([,$2,]) - Update: $5 - Feature disabled during update. } echo -ts [FreeBot Updater] Updating $3 from $+([,$readini(Settings.ini,versions,$1),]) to $+([,$2,]) - Update: $5 .unload $iif(%uds == remote,-rs,-a) $1 } else { if ($readini(Settings.ini,update,inform) && $server) { $($readini(Settings.ini,update,it),2) [FreeBot Updater] Adding $3 to FreeBot - Addition: $5 } echo -ts [FreeBot Updater] Adding $3 to FreeBot - Addition: $5 } if ($exists($shortfn($+($mircdir,$6)))) { .remove $+(",$mircdir,$6,") } .sockopen fbud thefreebot.com 80 } on *:SOCKOPEN:fbud: { if ($sockerr) { if (!$window(@errors)) { .window @errors } echo -t @errors SockOpen Error when checking for updates: $sock(fbud).wsmsg return } .set %fbud_read $false .sockwrite -n fbud GET /files/ $+ %udf HTTP/1.1 .sockwrite -n fbud Host: thefreebot.com $+ $crlf $+ $crlf } on *:SOCKREAD:fbud: { if ($sockerr) { if (!$window(@errors)) { .window @errors } echo -t @errors SockOpen Error when checking for updates: $sock(fbud).wsmsg return } .sockread %fbud if (!%fbud) { halt } if (!%fbud_read) { noop } else { .write $+(",$mircdir,%udl,") %fbud } if (%fbud == Content-Type: text/plain) { .set %fbud_read $true } } on *:SOCKCLOSE:fbud: { if (%uds != ext) { .load $iif(%uds == remote,-rs,-a) %udf } .writeini -n Settings.ini versions %udf %udv if ($readini(Settigns.ini,update,inform) && $server) { $($readini(Settings.ini,update,it),2) [FreeBot Updater] Update of %udn completed, commands re-enabled. } echo -ts [FreeBot Updater] Update of %udn  to $+([,%udv,]) completed! .sockopen udc thefreebot.com 80 } on *:START: { echo -ts [FreeBot Updater] Running Updater on Startup...