summaryrefslogtreecommitdiff
path: root/build/ext_chat.py
diff options
context:
space:
mode:
authorLieuwe <lieuwemo@gmail.com>2011-03-05 20:41:11 (GMT)
committer Lieuwe <lieuwemo@gmail.com>2011-03-05 20:41:11 (GMT)
commit11a7be5c680efff83c7cd6023bbf219702f5d05a (patch)
treeed169b5407461cd4586d0ac80c4c135667384aea /build/ext_chat.py
parentd6d661c4343b135cff5153dc2e63d8d16fea2dcf (diff)
downloadpowder-11a7be5c680efff83c7cd6023bbf219702f5d05a.zip
powder-11a7be5c680efff83c7cd6023bbf219702f5d05a.tar.gz
added irc client extension, it only listens for now.
Diffstat (limited to 'build/ext_chat.py')
-rw-r--r--build/ext_chat.py75
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
+