echo NICK $nick > $netdir/data
if (~ $#pass 1)
echo PRIVMSG 'nickserv :'identify $"pass > $netdir/data
- if(~ $#target 1){
+ if(! ~ $target ''){
title
echo JOIN $target > $netdir/data
}
- while (cmd=`{read}) {
- msg=()
- out=()
+ if(~ $target *,*)
+ target = `{echo $target | awk -F',' '{print $NF}'}
+ while () {
+ cmd=`{read}
+ if(! ~ `{cat $netdir/status} *Established*)
+ exit
+ if(~ $#cmd 0) {
+ echo QUIT : Leaving... > $netdir/data
+ exit
+ }
+ msg=()
+ out=()
switch ($cmd(1)) {
case /!
eval `{mshift $cmd} | while(rc=`{read})echo 'PRIVMSG '^$target^' :' $rc | tee $netdir/data
target=$cmd(2)
title
msg = (JOIN `{mshift $cmd})
+ if(~ $target *,*)
+ target = `{echo $target | awk -F',' '{print $NF}'}
}
case /l
msg = (LIST `{mshift $cmd})
case /x
echo QUIT : Leaving... > $netdir/data
exit
+ case /*
+ echo unknown command
case *
msg = 'PRIVMSG '^$target^' :'^$"cmd
out = '('^$target^') ⇐ '^$"cmd
s = s ":" $i;
printf("%s\n", s);
}'
-
}
fn pretty {
while (~ `{cat $netdir/status} *Established*) {
- line=`{read}
+ if(! line=`{read}) {
+ echo Connection lost
+ date
+ exit
+ }
switch ($line) {
+ case *PRIVMSG*
+ line = `{echo -n $line | privmsg}
case *JOIN* *QUIT* *PART* *NICK*
line = `{echo -n $line | misc}
case *NOTICE*
line = `{echo -n $line | notice}
- case *PRIVMSG*
- line = `{echo -n $line | privmsg}
case *PING*
echo -n $line | sed 's/PING/PONG/' > $netdir/data
line = ()
echo name /$server/$target/-ircrc > /mnt/acme/$winid/ctl
}
if not
- label ircrc $server - $target
+ label $target@$server
}
while (~ $1 -*) {
netdir=`{basename -d $clonefile} ^ / ^ `{cat /fd/4}
echo connect $ip!$port >$netdir/ctl || exit 'cannot connect'
echo connected to tcp!$ip!$port on $netdir
- cat $netdir/data | tr -d '\r\ 2' | pretty &
+ cat $netdir/data | tr -d '\x2\xd\x1f' | pretty &
work
}