; finger - get user information. Arguments are like unix finger: ; /finger user@host ; /finger user ; /finger @host ; /finger ; This is more complicated than it needs to be, just to make it act nicely. ; The empty WORLD hooks override normal hooks (like those in world-q.tf) ; that we don't want during finger. /def -i finger = \ /@test regmatch("^([^@]*)@?", {*})%; \ /let _user=%{P1}%; \ /let _host=%{PR-localhost}%; \ /def -i _finger_exit = \ /purge -i -msimple -h"CONNECT|CONFAIL|DISCONNECT {finger@%{_host}}*"%%;\ /def -1 -i -ag -msimple -h'WORLD ${world_name}' -p%{maxpri}%%; \ /fg ${world_name}%%; \ /unworld finger@%{_host}%%; \ /undef _finger_exit%; \ /addworld finger@%{_host} %{_host} 79%; \ /def -1 -i -ag -msimple -h'WORLD finger@%{_host}' -p%{maxpri}%; \ /def -1 -i -ag -mglob -h'CONNECT {finger@%{_host}}*' -p%{maxpri} = \ /fg finger@%{_host}%%; \ /send -- %{_user}%; \ /def -1 -i -ag -mglob -h'DISCONNECT {finger@%{_host}}*' -p%{maxpri} = \ /_finger_exit%; \ /def -1 -i -mglob -h'CONFAIL {finger@%{_host}}*' -p%{maxpri} = \ /_finger_exit%; \ /connect finger@%{_host}