5 server=irc.freenode.net
9 clonefile=/net/tcp/clone
20 echo QUIT : Leaving... > $netdir/data
29 date | awk '{print $4}' | awk -F ':' '{print "[" $1 ":" $2 "]"}'
33 echo USER $user foo bar :$realname > $netdir/data
34 echo NICK $nick > $netdir/data
36 echo PRIVMSG 'nickserv :'identify $"pass > $netdir/data
39 echo JOIN $target > $netdir/data
46 eval `{mshift $cmd} | while(rc=`{read})echo 'PRIVMSG '^$target^' :' $rc | tee $netdir/data
48 msg = (MODE `{mshift $cmd})
52 msg = (NOTICE $cmd(1) : `{mshift $cmd})
54 msg = (TOPIC `{mshift $cmd})
56 msg = (WHOIS `{mshift $cmd})
58 msg = (AWAY : `{mshift $cmd})
63 msg = (JOIN `{mshift $cmd})
66 msg = (LIST `{mshift $cmd})
72 out = '('^$to^') ⇐ '^$"cmd
73 msg = 'PRIVMSG '^$to^' :'^$"cmd
81 msg = (PART $cmd(1) : `{mshift $cmd})
85 target = `{mshift $cmd}
88 msg = (USERS `{mshift $cmd})
90 msg = (WHO `{mshift $cmd})
92 echo QUIT : Leaving... > $netdir/data
95 msg = 'PRIVMSG '^$target^' :'^$"cmd
96 out = '('^$target^') ⇐ '^$"cmd
99 echo $msg > $netdir/data
101 echo `{etime}^' '^$out
108 s/!~?[a-zA-Z0-9_@\-|.{=\/:]+ /:/' |
111 s = $2 " «" $1 "»\t" $3;
112 for(i = 4; i < NF+1; i++)
120 s/^NOTICE /:'^$server^':/
122 s/!~?[a-zA-Z0-9_@\-|.{=\/]+ /:/' |
125 s = "-" $1 "- ⇒\t" $3;
126 for(i = 4; i < NF+1; i++)
133 sed 's/^:[a-zA-Z0-9_@\-|.!=#]+ //
135 s/^353= /*** Users on /
136 s/^[0-9][0-9][0-9] ?:?/*** /'
142 s/!~?[a-zA-Z0-9_@\-|.{=\/:]+ PRIVMSG /» ⇒ :/
143 s/#[a-zA-Z0-9_@\-|.#]+/(&)/' |
147 for(i = 4; i < NF+1; i++)
155 while (~ `{cat $netdir/status} *Established*) {
158 case *JOIN* *QUIT* *PART* *NICK*
159 line = `{echo -n $line | misc}
161 line = `{echo -n $line | notice}
163 line = `{echo -n $line | privmsg}
165 echo -n $line | sed 's/PING/PONG/' > $netdir/data
168 line = `{echo -n $line | numeric}
177 echo $1 ip | ndb/dnsquery | sed 1q | awk '{print $NF}'
182 if (test -f /mnt/acme/$winid/ctl)
183 echo name /$server/$target/-ircrc > /mnt/acme/$winid/ctl
186 label ircrc $server - $target
204 echo 'usage: ircrc [-p port] [-r realname] [-t target] [-n nick] [server]' >[1=2]
213 server=im.bitlbee.org
223 echo cant translate $server
228 userpass=`{auth/userpasswd 'server='^$server^' service=irc user='^$nick >[2]/dev/null}
229 if(~ $#userpass 2 && ~ $nick $user) {
235 netdir=`{basename -d $clonefile} ^ / ^ `{cat /fd/4}
236 echo connect $ip!$port >$netdir/ctl || exit 'cannot connect'
237 echo connected to tcp!$ip!$port on $netdir
238 cat $netdir/data | tr -d '
\r\ 2' | pretty &