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
42 target = `{echo $target | awk -F',' '{print $NF}'}
45 if(! ~ `{cat $netdir/status} *Established*)
48 echo QUIT : Leaving... > $netdir/data
55 eval `{mshift $cmd} | while(rc=`{read})echo 'PRIVMSG '^$target^' :' $rc | tee $netdir/data
57 msg = (MODE `{mshift $cmd})
61 msg = (NOTICE $cmd(1) : `{mshift $cmd})
63 msg = (TOPIC `{mshift $cmd})
65 msg = (WHOIS `{mshift $cmd})
67 msg = (AWAY : `{mshift $cmd})
72 msg = (JOIN `{mshift $cmd})
74 target = `{echo $target | awk -F',' '{print $NF}'}
77 msg = (LIST `{mshift $cmd})
83 out = '('^$to^') ⇐ '^$"cmd
84 msg = 'PRIVMSG '^$to^' :'^$"cmd
92 msg = (PART $cmd(1) : `{mshift $cmd})
96 target = `{mshift $cmd}
99 msg = (USERS `{mshift $cmd})
101 msg = (WHO `{mshift $cmd})
103 echo QUIT : Leaving... > $netdir/data
108 msg = 'PRIVMSG '^$target^' :'^$"cmd
109 out = '('^$target^') ⇐ '^$"cmd
112 echo $msg > $netdir/data
114 echo `{etime}^' '^$out
121 s/!~?[a-zA-Z0-9_@\-|.{=\/:]+ /:/' |
124 s = $2 " «" $1 "»\t" $3;
125 for(i = 4; i < NF+1; i++)
133 s/^NOTICE /:'^$server^':/
135 s/!~?[a-zA-Z0-9_@\-|.{=\/]+ /:/' |
138 s = "-" $1 "- ⇒\t" $3;
139 for(i = 4; i < NF+1; i++)
146 sed 's/^:[a-zA-Z0-9_@\-|.!=#]+ //
148 s/^353= /*** Users on /
149 s/^[0-9][0-9][0-9] ?:?/*** /'
155 s/!~?[a-zA-Z0-9_@\-|.{=\/:]+ PRIVMSG /» ⇒ :/
156 s/#[a-zA-Z0-9_@\-|.#]+/(&)/' |
160 for(i = 4; i < NF+1; i++)
167 while (~ `{cat $netdir/status} *Established*) {
175 line = `{echo -n $line | privmsg}
176 case *JOIN* *QUIT* *PART* *NICK*
177 line = `{echo -n $line | misc}
179 line = `{echo -n $line | notice}
181 echo -n $line | sed 's/PING/PONG/' > $netdir/data
184 line = `{echo -n $line | numeric}
193 echo $1 ip | ndb/dnsquery | sed 1q | awk '{print $NF}'
198 if (test -f /mnt/acme/$winid/ctl)
199 echo name /$server/$target/-ircrc > /mnt/acme/$winid/ctl
202 label $target@$server
220 echo 'usage: ircrc [-p port] [-r realname] [-t target] [-n nick] [server]' >[1=2]
229 server=im.bitlbee.org
239 echo cant translate $server
244 userpass=`{auth/userpasswd 'server='^$server^' service=irc user='^$nick >[2]/dev/null}
245 if(~ $#userpass 2 && ~ $nick $user) {
251 netdir=`{basename -d $clonefile} ^ / ^ `{cat /fd/4}
252 echo connect $ip!$port >$netdir/ctl || exit 'cannot connect'
253 echo connected to tcp!$ip!$port on $netdir
254 cat $netdir/data | tr -d '\x2\xd\x1f' | pretty &