diff options
| author | Lieuwe <lieuwemo@gmail.com> | 2011-03-05 20:41:11 (GMT) |
|---|---|---|
| committer | Lieuwe <lieuwemo@gmail.com> | 2011-03-05 20:41:11 (GMT) |
| commit | 11a7be5c680efff83c7cd6023bbf219702f5d05a (patch) | |
| tree | ed169b5407461cd4586d0ac80c4c135667384aea /build | |
| parent | d6d661c4343b135cff5153dc2e63d8d16fea2dcf (diff) | |
| download | powder-11a7be5c680efff83c7cd6023bbf219702f5d05a.zip powder-11a7be5c680efff83c7cd6023bbf219702f5d05a.tar.gz | |
added irc client extension, it only listens for now.
Diffstat (limited to 'build')
| -rw-r--r-- | build/ext_chat.py | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/build/ext_chat.py b/build/ext_chat.py new file mode 100644 index 0000000..2e7ab2d --- /dev/null +++ b/build/ext_chat.py @@ -0,0 +1,75 @@ +import tpt +import sys +import time +import socket + +HOST="irc.freenode.net" +PORT=6667 +NICK="doxin[tpt]" +IDENT="doxin" +REALNAME="lieuwe" +CHANNEL="#powder" +readbuffer="" + +def raw(s,st): + s.send("%s\n\r"%st) + +frame=0 +s=None +rec=[("connected.",255,0,0,128)] +readbuffer="" + + +def key(key) : + #print "got %s"%key + pass + +def step(): + global frame,s,rec,readbuffer + frame+=1 + if(frame==1): + tpt.console_close() + if(frame==2): + tpt.draw_fillrect(0,0,612,384,0,0,0,128) + tpt.draw_text(32,32,"opening connection\nhold on to your pants.",255,255,255) + if(frame==3): + s=socket.socket( ) + s.connect((HOST, PORT)) + raw(s,"NICK %s" % NICK) + raw(s,"USER %s %s bla :%s" % (IDENT, HOST, REALNAME)) + s.settimeout(0) + if(frame==120): + raw(s,"JOIN %s"%CHANNEL) + rec.append(("joined",255,0,0,255)) + if(frame>=3): + try: + readbuffer=readbuffer+s.recv(1024) + except IOError: + pass + else: + temp=readbuffer.split("\n") + readbuffer=temp.pop() + + for line in temp: + line=line.strip() + #print line + line=line.split() + if(line[1]=="PRIVMSG"): + #:doxin!~lieuwe@unaffiliated/lieuwe PRIVMSG doxin[tpt] :some shit + frm=line[0][1:].partition("!")[0] + msg=' '.join(line[3:])[1:] + tmp=["<",frm,"> ",msg] + if(line[2]==NICK): + rec.append((''.join(tmp),255,255,255,255)) + else: + rec.append((''.join(tmp),255,255,255,128)) + if(line[0]=="PING"): + raw(s,"PONG %s"%line[1]) + + yy=32 + if(len(rec)>20): + rec=rec[20:] + for item in rec: + tpt.draw_text(8,yy,item[0],item[1],item[2],item[3],item[4]) + yy+=8 + |
