Ce snippet simple peut vous permettre de calculer le temps qu'un pseudo/son mask a passé sur un canal, et évidemment dire l'heure à laquelle il l'a quitté (ou a quitté l'irc). Un code plutôt "barbare", sans htables ni rien; mais je me suis bien amusé ;p
Syntaxe: !seen <pseudo> (195.93.102.***)
on 1:JOIN:#:/set %time. [ $+ [ $nick ] $+ . $+ [ $chan ] ] $time on 1:PART:#:{ if (%time. [ $+ [ $nick ] $+ . $+ [ $chan ] ] != $null) { set %time2. [ $+ [ $nick ] $+ . $+ [ $chan ] ] $time set %mask. [ $+ [ $nick ] ] $address($nick,6)
}
} on 1:QUIT:{ set %quit. [ $+ [ $nick ] ] $1- set %tquit. [ $+ [ $nick ] ] $time if ((%mask. [ $+ [ $nick ] ] == $null) || (%mask. [ $+ [ $nick ] ] != $address($nick,6))) { set %mask. [ $+ [ $nick ] ] $address($nick,6) }
} on 1:TEXT:!seen*:#:{ if ($2 != $null) { if ($2 == $nick) { msg $chan Hum... il me semble avoir déjà vu cette personne là... ah oui ! $nick regarde dans un miroir ! | halt } if ($2 ison $chan) { msg $chan Heu... $nick je sais que ça peut arriver parfois, mais... enfin... voilà: $2 est sur $chan ! | halt } else { if (%time. [ $+ [ $2 ] $+ . $+ [ $chan ] ] == $null) { msg $chan Désolé, je n'ai jamais vu $2 ici. | halt } if (%quit. [ $+ [ $2 ] ] != $null) { msg $chan 12 $+ $nick $+ $2 a quitté l'irc à %tquit. [ $+ [ $2 ] ] (2 $+ %quit. [ $+ [ $2 ] ] $+ ). Il a passé $duration($calc($duration(%tquit. [ $+ [ $2 ] ]) -$duration(%time. [ $+ [ $2 ] $+ . $+ [ $chan ] ]))) ici. | halt } elseif (%quit. [ $+ [ $2 ] ] == $null) { msg $chan 12 $+ $nick , $2 (3 $+ %mask. [ $+ [ $2 ] ] $+ ) est parti de ce chan à %time2. [ $+ [ $2 ] $+ . $+ [ $chan ] ] après avoir pasé $duration($calc($duration(%time2. [ $+ [ $2 ] $+ . $+ [ $chan ] ]) -$duration(%time. [ $+ [ $2 ] $+ . $+ [ $chan ] ]))) ici. | halt }
}
}
}