4 print ":" who"!u@h PRIVMSG #rhtest :" msg
7 function auth(user, nick)
9 print ":" nick "!u@c ACCOUNT " user
14 print "error: " msg > "/dev/stderr"
19 print msg > "/dev/stderr"
22 function command(who, cmd, i)
25 gsub(/\<[nbpYNS]|[+-]/, "", arg)
26 if (cmd ~ /^\./) 0 # nop
27 else if (cmd ~ /^n/) say(who, ".newgame " arg)
28 else if (cmd ~ /^e/) say(who, ".endgame ")
29 else if (cmd ~ /^j/) say(who, ".join")
30 else if (cmd ~ /^Y/) say(who, ".allow " arg)
31 else if (cmd ~ /^N/) say(who, ".deny " arg)
32 else if (cmd ~ /^S/) say(who, ".show ")
33 else if (cmd ~ /^o/) say("andy753421", ".order " who " " i)
34 else if (cmd ~ /^d/) say("andy753421", ".deal " who " " hand[who])
35 else if (cmd ~ /^l/) say(who, ".look")
36 else if (cmd ~ /^b/) say(who, ".bid " arg)
37 else if (cmd ~ /^s/) say(who, ".score")
38 else if (cmd ~ /^B/) say(who, ".bids")
39 else if (cmd ~ /^t/) say(who, ".tricks")
40 else if (cmd ~ /^T/) say(who, ".turn")
41 else if (cmd ~ /^p/) say(who, ".pass " arg)
42 else if (arg ~ /[shdc]$/) say(who, ".play " arg)
43 else error("unknown cmd '" cmd "'")
49 delete players # players[i] -> "name"
50 delete turns # turns[pi][i] -> "cmd"
55 auth("andy753421", "andy753421")
59 // { gsub(/#.*/, "") }
63 split($1, parts, "/");
70 players[pi] = parts[1]
73 gsub(/^\w*(\/\w*)?|[nbpYN-]\w+|\<[nejadowlbsBtpdS]\>|[.+]/, "", hand[who])
74 gsub(/^ *| *$/, "", hand[who])
75 gsub(/ */, " ", hand[who])
76 print who ": " hand[who] > "/dev/stderr"
77 say(who, "unicode :(")
82 for (pi=0; pi<length(players); pi++)
84 auth(auths[pi], players[pi])
85 for (ti=0; ti<nturns; ti++)
86 for (pi=0; pi<length(players); pi++)
87 command(players[pi], turns[pi][ti], pi)