rendered paste bodyalias checkserver {
if (%servstatus == 0) {
topicchange 1
set %servstatus 1
echo online
timer.offline off
sockclose seven
.timerchecking 1 30 sockopen seven %server.server 3724
}
else {
unset %servstatus
topicchange 0
timer.online off
echo offline
set %server.status Offline
sockclose seven
.timerchecking 1 30 sockopen seven %server.server 3724
}
}
alias topicchange {
if (%server.topic != yes) { halt }
set %topic1 $chan(%server.chan).topic
set %sev1 Server Online
set %sev2 Server Offline
if ($1 == 1 && %topic1 != %sev1) {
topic %server.chan %sev1
}
if ($1 == 0 && %topic1 != %sev2) {
topic %server.chan %sev2
}
}
on *:LOAD: {
set %server.server $?="Server IP"
; set %server.topic $?="Change Topic? (Yes/No)"
; if (%server.topic == Yes) {
set %server.chan $?="IRC Channel (WITH #)"
; }
}
on *:START: {
sockopen seven %server.server 3724
}
on *:sockopen:seven: {
if ($sockerr) { unset %servstatus
topicchange 0
set %server.status Offline
}
.timerchecking2 1 30 checkserver
sockwrite seven 32 test
set %server.status Online
}
on *:sockwrite:seven: {
set %servstatus $sock(seven).wserr
.timerkeepalive 0 60 sockwrite seven 32 test
}
on *:sockclose:seven: {
unset %servstatus
timerkeepalive off
topicchange 0
set %server.status Offline
timerchecking off
timerchecking2 off
.timerchecking 1 30 sockopen %server.server 3724
}