on $*:TEXT:/^!date(\s@?\w+)?$/iS:#: {
if ($nick isop $chan) {
if (!$2) {
msg $chan $followdate($nick)
}
elseif ($twitch_name($remove($2, @))) {
msg $chan $followdate($v1)
}
else {
msg $chan $nick $+ $chr(44) $remove($2, @) is not a valid user on Twitch. FailFish
}
}
elseif (!$($+(%, followdate_CD., $nick), 2) && !$2) {
set -eu60 %followdate_CD. $+ $nick On
msg $chan $followdate($nick)
}
}
alias followdate {
var %json = json $+ $ticks, %time, %date
JSONOpen -uw %json https://api.twitch.tv/kraken/users/ $+ $1 $+ /follows/channels/ $+ $mid($chan, 2-)
JSONUrlHeader %json Client-ID avm4vi7zv0xpjkpi3d4x0qzk8xbrdw8
JSONUrlGet %json
%time = $JSON(%json, created_at)
JSONClose %json
if (%time) {
%date = $TwitchTime(%time)
return $1 has been following this channel for $duration($calc($ctime - %date), 2) since $asctime(%date, mm dd yy) $+ .
}
return $1 is not following the channel.
}
alias -l TwitchTime {
if ($regex($1-, /^(\d\d(?:\d\d)?)-(\d\d)-(\d\d)T(\d\d)\:(\d\d)\:(\d\d)(?:(?:Z$)|(?:([+-])(\d\d)\:(\d+)))?$/i)) {
var %m = $Gettok(January February March April May June July August September October November December, $regml(2), 32), %d = $ord($base($regml(3),10,10)), %o = +0, %t
if ($regml(0) > 6) %o = $regml(7) $+ $calc($regml(8) * 3600 + $regml(9))
%t = $calc($ctime(%m %d $regml(1) $regml(4) $+ : $+ $regml(5) $+ : $+ $regml(6)) - %o)
if ($asctime(zz) !== 0 && $regex($v1, /^([+-])(\d\d)(\d+)$/)) {
%o = $regml(1) $+ $calc($regml(2) * 3600 + $regml(3))
%t = $calc(%t + %o)
}
return %t
}
}