ON *:TEXT:!uptime:#: {
;; ignore command if:
;; global flood protection is enabled
;; per-user flood proection is enabled
;; an uptime request is currently pending
if (%flood_uptime || $($+(%, flood_uptime_, $nick), 2) || %uptime_output) {
return
}
;; !uptime can only be used every 30s
set -eu30 %flood_uptime On
;; !uptime can only be used by the same user every 5minutes
set -eu300 % $+ flood_uptime_ $+ $nick On
;; set output command for web request
set -e %uptime_output msg $chan /me @ $+ $iif($msgtags(display-name).key !== $nick && $v1 != $null, $v1, $nick)
noop $urlget(https://decapi.me/twitch/uptime?channel= $+ $chan, gb, &uptime_body, handle_output)
}
alias -l handle_output {
if ($bvar(&uptime_body, 1-).text) {
%uptime_output Channel has been online for $v1
}
else {
%uptime_output channel if offline
}
unset %uptime_output
}